今天想把自己开发的应用上传到腾讯的开放平台,却发现应用的包明冲突了。原来是以前申请的腾讯开放平台已经上传过一次这个应用了。没办法,只能通过腾讯的应用认领来把这个应用来认领到当前的这个账号。下面我就吧认领过程中遇到的一些问题总结一下。
【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 复制代码
来源:oschina
链接:https://my.oschina.net/u/216276/blog/595249