android adb安装上的安装解析失败证书不一致

pw9qyyiw  于 2023-02-10  发布在  Android
关注(0)|答案(8)|浏览(244)

相同的Android项目在调试模式下构建,有时使用Eclipse,有时使用ant(在构建机器上)。
如果我首先安装ant构建,然后尝试启动Eclipse调试,Eclipse控制台将显示
[2012-03-20 13:32:26 - myproject]由于应用程序签名不同,重新安装失败。[2012-03-20 13:32:26 - myproject]您必须完全卸载该应用程序。警告:这将删除应用程序数据!
[2012-03-20 13:32:26 - myproject]请在shell中执行'adb uninstall com.myproject'。[2012-03-20 13:32:26 - myproject]已取消启动!
如果我用相反的方法来做,即用Eclipse调试(包括安装apk),然后尝试从命令行安装ant build,我会得到:
失败[安装解析失败证书不一致]
我的证书/签名有什么问题?

6ju8rftf

6ju8rftf1#

对我来说,问题是我已经用另一个密钥安装了相同的应用程序。卸载旧的应用程序解决了问题,如下所示:
https://stackoverflow.com/a/10280878

nhn9ugyo

nhn9ugyo2#

旧安装的. apk与将要安装的新证书不同,或者它已使用不同的密钥安装在您的设备中。这意味着您的应用程序以前是从另一台计算机安装的,该计算机为其提供了不同的凭据。
所以解决办法是:
uninstall the existing .apk
然后
re-install the new .apk

0h4hbjxa

0h4hbjxa3#

问题是apk文件(在Eclipse和ant构建期间)已经使用不同的证书进行了签名。要使在不同机器上构建的构建之间的签名一致,请将调试密钥库放在版本控制中:

如果您倾向于从自己的计算机和构建计算机交叉安装构建版本,这将非常方便。

hgb9j2n6

hgb9j2n64#

如果您的构建系统是gradle,只需使用以下命令在Windows中卸载它:

.\gradlew.bat uninstallDebug

或者在Linux中:

./gradlew uninstallDebug

然后:

./gradlew install

这是一个认证检查安装和卸载在同一个软件包在Android中。如果你是使用两个不同的建设PC(计算机)连接到同一部手机,你会得到这个错误,当你连接你的手机与这些不同的PC。最好的选择是绑定一个PC与一个物理手机。

ukxgm1gy

ukxgm1gy5#

打开Eclipse的首选项。打开左侧列表中的Android部分。在Android下的“自定义调试存储”旁边选择“构建”区域,导航到Android SDK安装下的密钥库,而不是Eclipse在您的主目录下选择的密钥库。
现在android ant build和eclipse使用相同的密钥库。

edqdpe6u

edqdpe6u6#

在IntelliJ中,虽然你可以选择一个调试密钥库来调试签名你的应用程序,但你不能输入密钥库密码或keypassword。你可以导出你的发布证书并将它们导入到你的调试密钥库,并将密钥库和密钥密码更改为“android”。我已经为它准备了一步一步的说明:http://www.denizoguz.com/2013/01/12/failure-install_parse_failed_inconsistent_certificates/

qojgxg4l

qojgxg4l7#

其他解决方案在应用程序的build. gralde文件中增加版本代码

defaultConfig {
        ...
        versionCode 1
        ...
  }

 defaultConfig {
        ...
        versionCode 2
        ...
  }

立即同步

构建干净的项目
运行应用程序

yks3o0rb

yks3o0rb8#

在翻盖手机(例如LG Classic Flip)上,应用程序ID需要以com.android.cts开头。并确保namespaceapplicationId

android {
    namespace "..."
    defaultConfig {
        applicationId "..."
    }
}

相关问题