序
对于android应用来说,发布release版本的时候,需要有个正式的签名,这个时候就需要用到jarsigner命令了。
步骤
sign
签名就是根据keystore去给apk加上签名,需要注意的是debug版本的apk会自动加签名align
align就是对apk包进行一次优化
jarsigner
检测jar包是否已经签名
jarsigner -verify demo-unsigned.apk
如果没有签名,则输出
没有清单。
jar 未签名。(缺少签名或无法解析签名)
如果有签名,则输出
jar 已验证。
警告:
此 jar 包含证书链未验证的条目。
此 jar 包含的签名没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2020-01-13) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
有关详细信息, 请使用 -verbose 和 -certs 选项重新运行。
进行签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 \
-keystore /Users/mars/demok.keystore -storepass keystorepwd \
demo-unsigned.apk demok \
&& jarsigner -verify -verbose -certs demo-unsigned.apk
其中demok为keystore的别名
align
zipalign -v 4 demo-unsigned.apk demo-signed.apk
合并在一起的命令就是
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 \
-keystore /Users/mars/demok.keystore -storepass keystorepwd \
demo-unsigned.apk demok \
&& jarsigner -verify -verbose -certs demo-unsigned.apk \
&& zipalign -v 4 demo-unsigned.apk demo-signed.apk
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。