【问题标题】:INSTALL_FAILED_UPDATE_INCOMPATIBLE update from a playstore version to a new from AndroidStudioINSTALL_FAILED_UPDATE_INCOMPATIBLE 从 Play 商店版本更新到 Android Studio 的新版本
【发布时间】:2017-07-15 09:04:39
【问题描述】:

我正在更新数据库,我的新版本正在使用 ORMLite,所以我在设备上安装了 playstore 版本,我想测试数据迁移是否可行,所以我连接我的设备并运行来自 Android Studio 的应用程序,但我收到此错误:

安装失败并显示 INSTALL_FAILED_UPDATE_INCOMPATIBLE 消息。 卸载现有的可能会解决此问题 apk 的版本(如果存在),然后重新安装。

警告:卸载将删除应用程序数据!

您要卸载现有的应用程序吗?

this question 的答案不适用,因为解决方案是删除应用程序,然后安装新版本。这个问题是关于如何避免卸载。

【问题讨论】:

  • 不是我的反对意见,但数据库版本更改不会导致此问题。当您更改数据库版本时,您的应用将正常安装。
  • 这可能是因为 APK 没有使用相同的签名进行签名(如果您从 Play 商店安装了应用程序并且正在安装具有相同包名的调试 APK,则会发生这种情况)。所以你应该尝试安装签名的 APK。

标签: android database upgrade


【解决方案1】:

这与您的数据库无关,这是因为您尝试安装的 .apk 文件的版本号小于或等于您设备上已安装的应用程序的版本号相同的应用程序 ID。

只需在您的gradle.build 文件中增加您的versionCode(或您的AndroidManifest.xml,如果您在其中定义它),操作系统将允许您安装新版本而不清除数据。

如果更改versionCode 不能解决问题,则可能是由于与Sufian mentioned here 等.apk 的签名发生冲突。

Android Studio 中的“生成 apk”选项会提示您分配密钥库以对 .apk 进行签名,这是手动方式。

您可以设置您的 build.gradle 文件,以便在您将给定的风味作为构建运行时自动使用密钥库对您的 .apk 进行签名。您可以阅读有关如何执行此操作的信息here。

【讨论】:

  • 我更改了同样的错误:versionCode 13 versionName "1.3" and database version
  • @Ben 你试过安装签名的 APK 吗?确保使用与上传到 PlayStore 的 APK 签名相同的密钥库。
  • 数据库版本无关紧要,这与.apk有关,实际上还没有代码运行。你知道 Play Store 应用的 versionCode 是什么吗?如果不是versionCode,很可能是Sufian所说的签名问题。
  • 我怎么看?问题是在升级我的 AndroidStudio 之前它正在工作
  • 噢噢噢!我必须生成 apk 而不是从 Android Studio 运行它
【解决方案2】:

我遇到了同样的问题。我的解决方案是减少数据库版本号以使其与商店中的版本相对应,运行当前版本(不是商店中的版本),然后将数据库版本号更新为最新版本并重新运行。这样就完成了apk更新,调用了DBHelper的onUpgrade()方法。

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多