3

我为 Android 开发了一个应用程序。当我第一次安装它时,该应用程序可以运行。但是当我对源代码进行一些更改时,如果不从手机中删除它,我们就无法安装它。我希望该应用程序应该在我第二次安装时更新。有什么解决办法吗?

注意:我的应用程序包含我不想删除的数据库,因此想在现有应用程序上更新新应用程序

4

6 回答 6

1

如果您正在尝试通过连接 USB 来安装应用程序,那么您将安装新应用程序,您可以卸载第一个应用程序并安装更新的应用程序,以便新应用程序完美运行。

于 2012-10-31T12:39:57.287 回答
1

将 Android Manifest 中的 VersionCode 更改为后续版本

安卓:版本代码

android:versionCode — 一个整数值,表示应用程序代码相对于其他版本的版本。该值是一个整数,以便其他应用程序可以以编程方式对其进行评估,例如检查升级或降级关系。您可以将该值设置为您想要的任何整数,但是您应该确保应用程序的每个后续版本都使用更大的值。系统不会强制执行此行为,但随着连续发布增加值是规范的。通常,您会发布应用程序的第一个版本,并将 versionCode 设置为 1,然后随着每个版本单调增加该值,无论该版本构成主要版本还是次要版本。这意味着安卓:versionCode 值不一定与用户可见的应用程序发布版本非常相似(请参阅下面的 android:versionName)。应用程序和发布服务不应向用户显示此版本值。

看到这个http://developer.android.com/tools/publishing/versioning.html

于 2012-10-31T12:36:07.090 回答
0

但是,如果您更改版本代码,则会提示您出现此错误。所以尝试寻找keystore 重新安装失败,由于不同的应用程序签名。ExpenseTracker] 您必须完全卸载应用程序。

警告:这将删除应用程序数据!ExpenseTracker] 请在 shell 中执行“adb uninstall com.spundhan.expensetracker”。

于 2012-10-31T13:30:18.000 回答
0

问题可能是因为您导出应用程序的密钥库。如果您使用默认的 Android 密钥库导出您的应用程序,然后如果您在另一台 PC 上更改该应用程序并使用该另一台 PC 上的默认密钥库再次导出它并将其安装在同一设备上,Android 将看到您有 2 个相同的应用程序,但具有不同的密钥库。这就是为什么您需要先卸载应用程序并重新安装它。

您是否在两台 PC 上都使用默认的 Android 密钥库并不重要。它们仍然不是同一个密钥库。

一种解决方案是您创建一个密钥库,例如。ProjectKeystore,您在项目中创建一个文件夹密钥库。将密钥库放在该文件夹中,并可能使用密钥库用户名放置一个文件并通过。当您在任何 PC 上导出应用程序时,您可以使用相同的密钥库。

于 2012-10-31T12:50:09.090 回答
0

好吧,如果你编译了你的第二个版本,你想替换旧版本......我不知道你用什么来为 android 编程,但是如果你使用自动完成的 eclipse sdk ......

于 2012-10-31T12:37:11.187 回答
0

我有时在尝试安装我的应用程序时遇到过类似的问题。为了解决这个问题,我去了应用程序管理屏幕并告诉程序停止运行,然后我的更新安装正确。我认为这与android处理程序生命周期的方式有关。当您退出程序时,它并不总是停止运行。如果某些内容出现错误,那么 android 可能会在关闭程序之前遇到问题,然后才能对其进行更新。

于 2013-01-27T22:36:20.790 回答