下面使用的工具都在 \Java\jdk1.7.0_17\bin 下冀瓦,如果你已經(jīng)配置了java環(huán)境變量,就可以直接在命令行下使用了,如果沒有的話被饿,你需要在命令行下將工作目錄切換到 Java\jdk1.7.0_17\bin 執(zhí)行
生成證書
如果有證書可以略過這一步,直接進入下一步
keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystore CERT.keystore
參數(shù)說明:
CERT.keystore ---- 證書保存的文件名
CERT ---- 證書的別名
10000 ---- 10000天的有效期
2048 ---- 默認為1024 bits淤翔,Android 建議使用2048 bits或更高
證書生成后使用如下命令可以查看證書的信息:
keytool -list -alias CERT -keystore CERT.keystore
給APK文件簽名
jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT
參數(shù)說明:
CERT.keystore ---- 證書保存的文件名
CERT ---- 證書的別名
to_sign.apk ------待簽名的apk文件
簽名過程需要輸入證書的密碼,按要求輸入即可
待簽名的apk文件根根目錄下如果有文件夾“META-INFO”,請先刪除(重新簽名就需要這樣做)佩谷。
如果不想創(chuàng)建過程輸出太多信息旁壮,可以刪除“-verbose” 。
上述簽名會直接覆蓋原來的文件谐檀,如果不想被覆蓋而簽名為另外的新文件 signed.akp抡谐,只需將 to_sign.apk 改為 -signedjar to_sign.apk signed.akp 即可。
簽名后可以使用如下命令驗證是否簽名成功:
jarsigner -verify to_sign.apk
如果需要查看更詳細的驗證信息桐猬,可使用:
jarsigner -certs -verbose -verify to_sign.apk
優(yōu)化APK
如果不需要麦撵,這一步可以不做,但推薦執(zhí)行
使用 zipalign 工具優(yōu)化已簽名的apk文件
zipalign -v 4 unaligned.apk aligned.apk
到此結(jié)束