安卓360加固后,签名包有的手机安装不了问题解决
1.使用360加固后,再使用jarsigner签名打包
命令:jarsigner -verbose -keystore bar1 -signedjar test_signed.apk encrypted.apk bar1
2.部分手机安装的时候,提示失败,有华为,有小米,但是我的iuni没问题
于是找到360客服,客服说加固不会导致安装失败,可能与缓存或者卸载没干净等问题有关,建议用adb测试下
3.于是用adb install 提示fail INSTALL_PARSE_FAILED_NO_CERTIFICATES
(安装失败,没有证书),可是明明签名了,于是查看了下jarsigner 各参数意义
[-keystore <url>] 密钥库位置
[-storepass <口令>] 用于密钥库完整性的口令
[-storetype <类型>] 密钥库类型
[-keypass <口令>] 专用密钥的口令(如果不同)
[-sigfile <文件>] .SF/.DSA 文件的名称
[-signedjar <文件>] 已签名的 JAR 文件的名称
[-digestalg <算法>] 摘要算法的名称
[-sigalg <算法>] 签名算法的名称
[-verify] 验证已签名的 JAR 文件
[-verbose] 签名/验证时输出详细信息
[-certs] 输出详细信息和验证时显示证书
[-tsa <url>] 时间戳机构的位置
[-tsacert <别名>] 时间戳机构的公共密钥证书
[-altsigner <类>] 替代的签名机制的类名
[-altsignerpath <路径列表>] 替代的签名机制的位置
[-internalsf] 在签名块内包含 .SF 文件
[-sectionsonly] 不计算整个清单的散列
[-protected] 密钥库已保护验证路径
[-providerName <名称>] 提供者名称
[-providerClass <类> 加密服务提供者的名称
[-providerArg <参数>]] ... 主类文件和构造函数参数
4.于是修改签名命令:
jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore bar1 -signedjar test_signed.apk encrypted.apk bar1
签名成功!