安卓:无法安装版本建立到仿真器;越来越失败[INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION] [英] Android: Unable to install release build onto emulator; getting Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
问题描述
我能够安装调试版本模拟器上做的:
I am able to install a debug build onto emulator doing:
ant debug install
但我无法安装一个发布版本。我的步骤:
but am unable to install a release build. My steps:
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
所有步骤成功运行除了最后一个,我得到一个消息:
All steps run successfully except the last one where I get a message:
82 KB/s (388012 bytes in 4.613s)
pkg: /data/local/tmp/myapp-release.apk
Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
我也想这样做的蚂蚁installr
而不是 ADB安装斌\\ MyApp的-release.apk
与同结果
编辑:我觉得这有钥匙的事,因为这是我可以发布和调试之间看到的唯一区别的基础之上。我生成使用的关键是:
I think this has to do with the key, since that is the only difference I can see between release and debug builds. I generated the key using:
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 ant.properties
每页的 http://developer.android.com/guide/developing/building/building-cmdline.html ,现在只是在做蚂蚁版本安装
(而不是的上述步骤),但仍运行到同样的问题。如果有人知道如何生成蚂蚁调试键,然后我可以按照相同的步骤生成我释放键,看看是否能解决问题。
as mentioned on http://developer.android.com/guide/publishing/app-signing.html. I modified ant.properties
file per http://developer.android.com/guide/developing/building/building-cmdline.html and now just doing ant release install
(instead of the steps above) but still running into same problem. If someone knows how does ant generate the debug key, then I could follow same procedure to generate my release key and see if that solves the problem.
推荐答案
解决方案: http://stackoverflow.com/a/8225017 / 147530 结果
注:结果
1.我得到一个INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION。我没有得到一个INSTALL_PARSE_FAILED_NO_CERTIFICATES结果
2.运行亚行logcat
CMD从线呈现堆栈跟踪类似于的 Android的签署与ANT :
Solution: http://stackoverflow.com/a/8225017/147530
Notes:
1. I was getting a INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION. I did not get a INSTALL_PARSE_FAILED_NO_CERTIFICATES
2. Running adb logcat
from cmd line showed stacktrace similar to that in Android signing with ANT:
W/PackageParser( 51): Exception reading /data/app/vmdl24231.tmp
W/PackageParser( 51): java.lang.SecurityException: META-INF/METALLIC.SF has in
valid digest for assets/myasset.xtx in /data/app/vmdl24231.tmp
W/PackageParser( 51): at java.util.jar.JarVerifier.verifyCertificate(J
arVerifier.java:370)
W/PackageParser( 51): at java.util.jar.JarVerifier.readCertificates(Ja
rVerifier.java:273)
W/PackageParser( 51): at java.util.jar.JarFile.getInputStream(JarFile.
java:416)
W/PackageParser( 51): at android.content.pm.PackageParser.loadCertific
ates(PackageParser.java:317)
W/PackageParser( 51): at android.content.pm.PackageParser.collectCerti
ficates(PackageParser.java:479)
W/PackageParser( 51): at com.android.server.PackageManagerService.inst
allPackageLI(PackageManagerService.java:4287)
W/PackageParser( 51): at com.android.server.PackageManagerService.acce
ss$1600(PackageManagerService.java:109)
W/PackageParser( 51): at com.android.server.PackageManagerService$5.ru
n(PackageManagerService.java:3779)
W/PackageParser( 51): at android.os.Handler.handleCallback(Handler.jav
a:587)
W/PackageParser( 51): at android.os.Handler.dispatchMessage(Handler.ja
va:92)
W/PackageParser( 51): at android.os.Looper.loop(Looper.java:123)
W/PackageParser( 51): at android.os.HandlerThread.run(HandlerThread.ja
va:60)
参考文献:结果
HTTP://$c$c.google.com/p /安卓/问题/细节?ID = 19567
这篇关于安卓:无法安装版本建立到仿真器;越来越失败[INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!