我使用以下命令签署我的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文件上 .
1 回答
验证您签名的apk是否最初未签名 . 如果没有,请使用IDE中的Android Tools导出未签名的版本 .