android签名包安装问题解决

安卓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

签名成功!