我使用以下命令签署我的apk:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mykeystore.keystore myApp.apk aliasname
日志以
结尾.
.
.
signing: org/achartengine/image/zoom-1.png
signing: org/achartengine/image/zoom_in.png
signing: org/achartengine/image/zoom_out.png
signing: LICENSE.txt
signing: assets/cpwrUEM-instr-runtime.properties
jar signed.
但是当我运行验证命令时:
jarsigner -verify -verbose -certs myApp.apk
我收到以下错误:
jarsigner: java.lang.SecurityException: invalid SHA1 signature file digest for res/drawable-hdpi-v4/btn_large.png
大多数论坛都提到,当我们收到上述错误消息时,我们应该通过添加-digestalg SHA1来重新签名jar。但是我已经有了这个并且仍然得到了同样的例外。
尝试在设备上安装时,我收到消息
There is a problem parsing the package.
在将算法从SHA1更改为SHA-256时,它仍然会给我相同的异常,但这次是在xml文件上。
答案 0 :(得分:1)
验证您签名的apk是否最初未签名。如果没有,请使用IDE中的Android工具导出未签名的版本。