android签名包安装问题解决

通过调整jarsigner命令参数,将digestalg设置为SHA1,sigalg设置为MD5withRSA,解决了安卓应用在部分手机上安装失败的问题。同时,解释了jarsigner命令中各个参数的意义,如密钥库位置、签名算法等,并提供了调试方法,如使用adb测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

签名成功!





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值