这两个问题可以说都是我真正遇到了,当然很纳闷。为什么同样的步骤搞出来的包就不能安装,排查了无数遍,后来在还是在官网上找到的答案。
在JDK6中,jarsigner的默认签名使用了SHA1,如图
而JDK7中jarsigner默认使用了SHA256,更安全?
所以在JDK7中进行签名操作就会安装不上(我很奇怪,这样是想告诉Google,你手机里的证书验证机制该更新了?),可以在jarsigner 签名命令里加入如下参数来解决:
-digestalg SHA1 -sigalg MD5withRSA
还有就是jdk7不支持空序组排序,如果你打算升级,那以前的老程序也许可能就会一堆问题等着你。
所以如果你打算升级JDK7请做好十足的把握!
其他信息:
查看Android应用证书信息
jarsigner -verify -verbose -certs **.apk
如果你有签名用的key文件也可以使用下面方法查看
keytool -list -v -keystore labi.keystore -storepass 123456
Zipalign APK包的优化
- THE END -
0 条评论。