1.通過apktool工具解壓當前apk(比如:demo.apk),解壓後,會生成CERT.RSA文件
**** apktool d demo.apk
備注:通過這種方式解壓出來的Androidmenifest.xml文件可以通過文件編輯器打開查看;
2.通過keytool命令獲取簽名信息
**** keytool -printcert -file C:\Android\soft\apktool\demo\original\META-INF\CERT.RSA所有者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn
發布者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn
序列號: 12893889
有效期開始日期:
證書指紋:
MD5: 1A:0F:52:94:8D:DB:7A:E9:7A:7E:A5:3B:A3:A7:F9:39
SHA1: 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2
SHA256: BF:FB:9C:67:E1:7B:49:26:4A:D9:84:9D:48:DA:C1:4F:00:77:74:15:27:90:95:D0:B3:D8:0A:EA:2F:81:F1:B9
簽名算法名稱: SHA256withRSA
版本: 3
擴展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: C3 D6 E3 9F C3 F3 1E BE 6E F9 BC 35 6F 8B 21 52 ........n..5o.!R
0010: 12 38 AD BC .8..
]
]
3.查看my.keystore簽名文件的簽名信息
**** keytool -list -keystore C:\Android\workspace\my.keystore
輸入密鑰庫口令:
密鑰庫類型: JKS
密鑰庫提供方: SUN
您的密鑰庫包含 1 個條目
my, 2016-6-15, PrivateKeyEntry,
證書指紋 (SHA1): 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2
給apk文件簽名主要分三步,創建證書(如果沒有)-->簽名-->優化(可選)1)使用jdk的keytool工具生成簽名用的證書> keytool -genkey -v -alias cert -keyalg rsa -keysize 2048 -validity 10000 -keystorecert.keystore 創建過程需要輸入一些標識信息和密碼,一些重要的參數值說明如下(根據自己的需要要進行相應的修改): cert.keystore ---- 證書保存的文件名 cert ---- 證書的別名 10000 ---- 10000天的有效期 2048 ---- 默認為1024 bits,android 建議使用2048 bits或更高其他的詳細信息可以使用keytool -help查看幫助 證書生成後使用如下命令可以查看證書的信息:> keytool -list -alias cert -keystore cert.keystore 2)使用jdk的jarsigner工具對apk文件簽名> jarsigner -verbose -keystore cert.keystore to_sign.apk cert 簽名過程需要輸入證書的密碼,一些重要的參數值說明如下(根據自己的需要要進行相應的修改): cert.keystore ---- 證書保存的文件名 cert ---- 證書的別名 待簽名的apk文件根根目錄下如果有文件夾“meta-info”,請先刪除(重新簽名就需要這樣做)。如果不想創建過程輸出太多信息,可以刪除“-verbose” 。上述簽名會直接覆蓋原來的文件,如果不想被覆蓋而簽名為另外的新文件 signed.akp,隻需將 to_sign.apk 改為 -signedjar to_sign.apk signed.akp 即可。簽名後可以使用如下命令驗證是否簽名成功: > jarsigner -verify to_sign.apk 如果需要查看更詳細的驗證信息,可修改為:> jarsigner -certs -verbose -verify to_sign.apk 3)使用android sdk的zipalign工具優化已簽名的apk文件> zipalign -v 4 unaligned.apk aligned.apk 注意要在簽名後再zipalign。這個工具不是jdk自帶的,而是在%android_home%\tools\zipalign.exe。
用戶登錄
還沒有賬號?立即注冊
用戶注冊
投稿取消
文章分類: |
|
還能輸入300字
上傳中....