INSTALL_FAILED_UPDATE_INCOMPATIBLE从Playstore版本更新到AndroidStudio中的新版本

时间:2017-02-24 13:44:27

标签: android database upgrade

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

  

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

     

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

     

是否要卸载现有应用程序?

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

3 个答案:

答案 0 :(得分:1)

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

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

如果更改versionCode无法修复,则可能是由于与。Sufian mentioned here等.apk的签名冲突。

Android Studio中的“生成apk”选项将指导您通过一些提示指定一个密钥库来签署.apk,这是手动方式。

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

答案 1 :(得分:-1)

您正在尝试安装较新版本的旧版本。 因此,首先卸载旧版本,然后尝试安装新版本。

使用OrmLiteSqliteOpenHelper.onUpgrade(...)检查旧版本和新版本的版本,并为这两个版本编写方法。 这样,您也可以迁移数据

答案 2 :(得分:-1)

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