我试着重新安装apk

$adb install -r new.apk

它显示了错误:

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

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

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

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


当前回答

我也遇到了同样的问题,直到我意识到我正在运行模拟器,而adb正试图在其上安装

其他回答

不管怎样,我在给我的Cordova项目添加了一个新插件后遇到了这个问题。我一直有科尔多瓦做构建和安装直接在设备上通过USB。

我通过从设备上卸载应用程序来解决这个问题,在下一次部署时就没有问题了。

这是使用adb从设备卸载应用程序的命令:

adb uninstall <package name>

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

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

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

If you encounter a failed deployment to an Andorid device or emulator with the error "Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]" in the Output Window, simply delete the existing app on the device or emulator and redeploy. Debug builds will use a debug certificate while Release builds will use your configured certificate. This error is simply letting you know that the certificate of the app installed on the device is different than the one you are attempting to install. In non-development (app store) scenarios, this can be indicator of a corrupted or otherwise modified app not safe to install on the device.