我正在使用IntelliJ IDEA 12.0.4。
在将我的应用程序安装到我的模拟器和手机时,我多次收到INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES消息。
我相信错误发生在我的debug.keystore过期时,我通过卸载旧版本解决了模拟器上的问题。
但我不想在手机上卸载该应用,因为这会删除用户数据。
我还尝试使用我的发布密钥对应用程序进行签名,然后在手机上安装(通过复制APK文件并执行它) - 但由于证书原因,该安装也被拒绝了。不应该那样吗?
我该怎么办?
PS:为避免疑问 - 我只有一台开发PC,只有一张证书......答案 0 :(得分:1)
Android无法知道您的调试密钥与您的发布密钥相关。
如果您的应用可以访问SD卡,您可以使用命令提示符将数据文件复制到SD卡。
adb -d shell
run-as <packagename> sh
cp <files> /sdcard/
您的手机无需根据此操作,但run-as仅适用于您应用的调试版本。
答案 1 :(得分:0)
手机无法知道某些内容是发布密钥还是调试密钥。它只知道用钥匙签名。所以不,除非您使用相同的密钥进行发布和调试,否则无法使用发布的签名副本更新调试签名副本。
这里没有关于卸载的真正方法。如果您的手机已植根,则可以关闭文件并在新安装后恢复它们。
答案 2 :(得分:0)
旧安装的.apk与新安装的证书不同。
所以解决方案是:
uninstall the existing .apk
and then re-install the new .apk