我试着重新安装apk

$adb install -r new.apk

它显示了错误:

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

一种解决方案是卸载并安装新的。apk,这很好。

但我想知道我是否可以重新构建apk并重新安装而不卸载。如。修改AndroidManifest.xml中的一些配置,或者不签署APK,等等。

如果您能告诉我“INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES”的全部含义,将不胜感激。


当前回答

上面的任何东西对我都没用。对我来说,问题是我在android-support-v7-appcompat的Java Build Path中有错误的源代码。进入“项目>生成路径>”时,配置生成路径>。在Source选项卡下,确保你有android-support-v7-appcompat/gen, android-support-v7-appcompat/libs和android-support-v7-appcompat/src,没有其他。单击OK,它应该可以工作。

其他回答

我有这个问题,试图在Genymotion上执行gradle任务connectedDebugAndoidTest(或connectedAndroidTest)。在普通模拟器上运行它解决了这个问题。

由于验证是基于包的名称,所以您可以在config.xml或清单文件中更改包的名称。

在发布应用程序时,不要忘记更改名称!

我认为,你的应用程序是由其他账户安装的。(多账号模式特性)您可以在“设置>应用程序>“应用程序名称”>卸载应用程序

这意味着应用程序的新副本(在开发机器上)与应用程序的旧副本(安装在设备/模拟器上)使用不同的签名密钥进行签名。例如,如果这是一个设备,您可能已经从不同的开发机器(例如,其他开发人员的机器)上放置了旧的副本。或者,旧的用您的生产密钥签名,新的用您的调试密钥签名。

我在测试一台新的Xoom时遇到了这个问题。我之前是在Marketplace上安装应用的。后来在测试新版本的应用程序时,我遇到了这个错误。

我通过删除通过Marketplace安装的应用程序来解决这个问题(只需按住并拖动到垃圾桶)。此后,我就可以毫无问题地部署我的开发版本了。