【发布时间】:2022-04-28 06:04:09
【问题描述】:
我可以在模拟器上安装调试版本:
ant debug install
但我无法安装发布版本。我的步骤:
1. ant release
2. jarsigner -verbose -keystore ..\my-release-key.keystore bin\myapp-release-unsigned.apk mykey
3. ren bin\myapp-release-unsigned.apk bin\myapp-release-signed.apk
4. zipalign -v 4 myapp-release-signed.apk myapp-release.apk
5. adb install bin\myapp-release.apk
除了最后一个我收到消息的步骤之外,所有步骤都成功运行:
82 KB/s (388012 bytes in 4.613s)
pkg: /data/local/tmp/myapp-release.apk
Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
我也尝试过使用ant installr 而不是adb install bin\myapp-release.apk,结果相同
编辑:我认为这与密钥有关,因为这是我可以看到的发布版本和调试版本之间的唯一区别。我使用以下方法生成了密钥:
keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
如http://developer.android.com/guide/publishing/app-signing.html 所述。我根据http://developer.android.com/guide/developing/building/building-cmdline.html 修改了ant.properties 文件,现在只做ant release install(而不是上面的步骤),但仍然遇到同样的问题。如果有人知道 ant 是如何生成调试密钥的,那么我可以按照相同的程序生成我的发布密钥,看看是否能解决问题。
【问题讨论】:
-
您是否卸载了调试构建应用程序?
-
是的,我已经卸载了调试版本
-
只需安装未签名的 apk。
-
您的证书可能有问题。尝试生成一个新的。也尝试在设备和模拟器上安装发布版本,如果错误是一致的,那么这不是设备故障。
-
这可能是由您的 AndroidManifest.xml 文件中的错误引起的(例如,如果您的版本代码不是整数,如 here 所述。)
标签: android