为什么使用JDK7对android应用包签名就会无法安装?

这两个问题可以说都是我真正遇到了,当然很纳闷。为什么同样的步骤搞出来的包就不能安装,排查了无数遍,后来在还是在官网上找到的答案。

在JDK6中,jarsigner的默认签名使用了SHA1,如图
image
而JDK7中jarsigner默认使用了SHA256,更安全?
image
所以在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 -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/jarsignermm.htm
发表评论?

0 条评论。

发表评论