1、前两个星期应用拿去内测,出现了4.2.2系统不能安装的问题,提示错误是”程序包解析失败”
以为minSDK没有设置正确,检查了一下,API level = 14,没问题啊,理论上4.0以上系统都能安装
无头绪
2、仔细想了想发布过程,先用AndroidStudio自带的工具签名,然后放到娜迦去加固,然后下载,然后重签名,没毛病
3、还有一个现象是,用AndroidStudio自带签名后不加固,就能安装加固了再签名就不能安装
4、第一反应是加固平台的问题,于是换了腾讯的加固平台和爱加密加固平台,还是一样的结果,4.2或以下的系统不能安装
5、那想必是签名出现了问题,一番百度后,有答案了
jdk1.6 和 jdk1.7 的签名机制有些不一样,具体是什么情况也没搞明白,麻痹的官网上全是英文看不懂
6、总之用 jdk1.7 的jarsigner签名工具,要在签名命令后面加上如下命令
-digestalg SHA1 -sigalg MD5withRSA
该命令在 jdk1.6 下无影响
续:
7、网上有人深究了这个问题,是这样
jdk6 用的是SHA1摘要算法,而 jdk7 用的是SHA256,我就醉了…
所以指定 SHA1 算法来签名