Juu*_*nen 27 eclipse android signing apk android-install-apk
同样的Android项目是在调试模式下构建的,有时使用Eclipse,有时使用ant(在构建机器上).
如果我首先安装ant build,然后尝试启动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,我得到:
失败[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
我的证书/签名有什么问题?
Son*_*hja 31
旧安装的.apk具有与将要安装的新证书不同的证书,或者已使用不同的密钥安装在您的设备中.这意味着您的应用程序以前是从另一台机器上安装的,它为其提供了不同的凭据.
所以解决方案是:
uninstall the existing .apk
然后
re-install the new .apk
Juu*_*nen 17
问题是apk文件(在Eclipse和ant构建期间)已使用不同的证书进行签名.要使已在不同计算机上构建的构建之间的签名保持一致,请将调试密钥库置于版本控制中:
如果您倾向于从自己的计算机和构建计算机交叉安装构建,这将非常方便.
如果你的构建系统是gradle,在Windows下直接使用follwong命令卸载即可:
.\gradlew.bat uninstallDebug
Run Code Online (Sandbox Code Playgroud)
或在 Linux 中:
./gradlew uninstallDebug
Run Code Online (Sandbox Code Playgroud)
进而:
./gradlew install
Run Code Online (Sandbox Code Playgroud)
这是对 Android 中同一个包的安装和卸载的认证检查。如果您使用两台不同的建筑 PC(计算机)与同一部手机连接,当您将手机与这些不同的 PC 连接时,您将收到此错误。最好的选择是一台电脑绑定一部实体手机。
| 归档时间: |
|
| 查看次数: |
40813 次 |
| 最近记录: |