我试着重新安装apk

$adb install -r new.apk

它显示了错误:

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

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

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

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


当前回答

即使在卸载原始APK之后,我也得到了这个错误,这是令人困惑的。最后我意识到,我在自己的Nexus 7上设置了多个用户进行测试,而其中一个用户仍然安装了该应用程序。一旦我为所有用户卸载它,错误就消失了。

其他回答

我在编写更新代码时更改了包的名称,这样我就可以通过Eclipse在我的设备上调试它,而不用删除已安装的旧版本。没有恢复我试图重新安装时使用的包名,我得到了同样的错误。使用相同的包名重新安装成功。

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

在另一个用例中,我得到了类似的错误。 当我第一次得到错误,我惊慌失措,并删除/data/data/{package.name} 在那之后,我尝试了,但我的问题仍然存在。 然后我尝试卸载,它失败了。

然后我删除了/system/app中的apk文件(需要root访问权限),并尝试卸载,成功了。

之后我试着重新安装apk,它工作了。

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

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

adb uninstall <package name>