原文网址:https://www.youyong.top/article/1158d20f481b
有一次应用认领,需要对一个空包进行签名,可在android studio中并没有找到直接apk签名的功能,怎么办那?
其实一条命令就可以。
原文网址:https://www.youyong.top/article/1158d20f481b
有一次应用认领,需要对一个空包进行签名,可在android studio中并没有找到直接apk签名的功能,怎么办那?
其实一条命令就可以。
原文网址:https://www.youyong.top/article/1158d20f481b
android studio签名相关的功能其实都是调用jdk提供的工具实现的,而这些工具我们通过命令行也能够调用(mac和win一样)
使用工具 jarsigner
该工具位于jdk_xxx\bin目录下 ,命令如下:
jarsigner -verbose -keystore your_keystore_file -signedjar test_signed.apk test.apk your_keystore_alias
注: test_signed.apk是签名之后的文件,test.apk是需要签名的文件
另外需要注意的是,如果你的jdk版本在1.7以上,你在对apk签名时,需要加上这个参数:
-digestalg SHA1 -sigalg MD5withRSA
否则同样会出现:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]的错误。
可能会有如下警告:
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2042-07-06) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
这个警告也不影响签名,只是看着不顺心,命令后加上:
-tsa https://timestamp.geotrust.com/tsa
即可
所以执行的全部命令是:
jarsigner -verbose -keystore ./Downloads/安卓应用/Keystore/daxueyzd -signedjar ./Downloads/Baidu_Claim.apk ./Downloads/Baidu_Claim_unsigned.apk daxue_alias -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa
从eclipse转到android studio,签名的时候让输入alias(别名),可能有人忘记了,我们可以从keystore文件中找到:
用到的工具是keytool ,该工具位于 jre/bin目录下:
命令如下:
keytool -list -v -keystore your_keystore_file
另外生成keystore的命令也是keytool
既然应用认领要核对签名,那么就得能查看签名,可校验应用是否被篡改过。
命令如下:
jarsigner -verify -verbose -certs your_apk_file
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言
Android jenkins自动化打包Eclipse APK
Android 智能下拉刷新框架 - SmartRefreshLayout
推荐 | 腾讯开源的专注提升H5首屏加载速度的VasSonic框架
推荐一个Android Studio插件(显示Android资源引用次数)
推荐 | BlockCanary帮你找到Android应用卡顿的原因
iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评
资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样
6款程序员必备的开源中文汉字拼音转换及处理工具 (PHP Java .net)
java如何获取网页标题title? (用htmlparser)
mysql: ERROR 1292 (22007): Truncated incorrect DOUBLE value:
手机扫一扫
分享文章