【Android】命令行jarsigner签字和解决找不到证书链错误

1、签名失败

$jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLordy-signed-key -signedjar ./signed_XiaomiVerify.apk ./XiaomiVerify.apk qulordy
输入密钥库的口令短语: 
jarsigner: 找不到 qulordy 的证书链。qulordy 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。

 

2、查看帮助

复制代码
$jarsigner -h
用法:jarsigner [选项] jar 文件别名(key的别名)
       jarsigner -verify [选项] jar 文件

[-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 <参数>]] ... 主类文件和构造函数参数
复制代码

 

3、寻找签名别名:

首先,在用eclipse进行导出的时候是成功的。所以尝试重新导出应用可以看到别名,如下我的是 'qulordy key' :

 

4、重新签名:

复制代码
$jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLordy-signed-key -signedjar ./signed_XiaomiVerify.apk ./XiaomiVerify.apk 'qulordy key'
输入密钥库的口令短语: 
   正在添加: META-INF/MANIFEST.MF
   正在添加: META-INF/QULORDY_.SF
   正在添加: META-INF/QULORDY_.RSA
  正在签名: AndroidManifest.xml
  正在签名: classes.dex
   正在添加: res/
   正在添加: res/drawable/
  正在签名: res/drawable/icon.png
   正在添加: res/layout/
  正在签名: res/layout/main.xml
  正在签名: resources.arsc
复制代码

 

 

作者:逸云沙鸥 
出处:http://www.cnblogs.com/QuLory/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你无法打开jarsigner,可能是由于以下几个原因造成的: 1. 没有正确配置Java环境变量:确保你已经正确安装了Java Development Kit (JDK),并将其路径添加到系统的环境变量中。你可以在命令行中输入"java -version"来检查是否正确配置了Java环境变量。 2. 没有正确输入命令:请确保你在命令行中正确输入了jarsigner的命令。比如,正确的命令格式是"jarsigner -verbose -keystore key.jks -signedjar baoming.apk tap_unsign.apk name"。请注意,你需要将"key.jks"替换为你的keystore文件名,"baoming.apk"替换为你想要得到的重签名后的apk文件名,"tap_unsign.apk"替换为你想要重签名的apk文件名。 3. keystore文件不可访问或不存在:请确保你的keystore文件存在,并且你有权限访问它。如果你的keystore文件丢失或损坏,你将无法使用jarsigner进行签名操作。 如果以上步骤都没有解决你的问题,建议你重新安装Java Development Kit (JDK),或者尝试使用其他第三方工具来进行签名操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Android Apk去掉签名以及重新签名的方法](https://download.csdn.net/download/weixin_38611388/14028854)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [jarsigner: 无法打开 jar 文件: tap_unsign.apk](https://blog.csdn.net/m0_47265814/article/details/116897391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [重新打包apk问题:jarsigner: 无法打开 jar 文件:](https://blog.csdn.net/u013396632/article/details/70306379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值