序
對于android應(yīng)用來說距芬,發(fā)布release版本的時候,需要有個正式的簽名忠寻,這個時候就需要用到j(luò)arsigner命令了存和。
步驟
- sign
簽名就是根據(jù)keystore去給apk加上簽名衷旅,需要注意的是debug版本的apk會自動加簽名 - align
align就是對apk包進行一次優(yōu)化
jarsigner
檢測jar包是否已經(jīng)簽名
jarsigner -verify demo-unsigned.apk
如果沒有簽名纵朋,則輸出
沒有清單柿顶。
jar 未簽名操软。(缺少簽名或無法解析簽名)
如果有簽名,則輸出
jar 已驗證家乘。
警告:
此 jar 包含證書鏈未驗證的條目。
此 jar 包含的簽名沒有時間戳仁锯。如果沒有時間戳, 則在簽名者證書的到期日期 (2020-01-13) 或以后的任何撤銷日期之后, 用戶可能無法驗證此 jar翔悠。
有關(guān)詳細信息, 請使用 -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