1. 程式人生 > >檢視已經打包好的APK檔案的簽名與給打包好的APK檔案簽名

檢視已經打包好的APK檔案的簽名與給打包好的APK檔案簽名

說明:此操作是在MAC系統上進行的,對於windows系統是否適用沒用試驗過。

1.檢視APK簽名

    將.apk檔案更改為字尾名為.zip檔案,然後解壓檔案,裡面有一個META-INF檔案,其中包含了CERT.RSA檔案。 在命令列模式下輸入命令:keytool -printcert -file  /Users/xiaoxue/Downloads/test/META-INF/CERT.RSA 

/Users/xiaoxue/Downloads/test/META-INF/CERT.RSA 是CERT.RSA的檔案路徑

結果:

圖片

 MD5就是該APK的簽名

2.檢視keyStroe(字尾名也可以是.key)資訊

 將.keyStroe(或者.key)檔案複製到安裝的jdk目錄下的bin目錄下面,如圖所示(此處以atest.key檔案為例

圖片 在命令列模式下,進入到bin檔案目錄下,然後輸入以下命令:
keytool -list  -v -keystore xxxx.keystore -storepass 密碼 (eg:$ keytool -list  -v -keystore atest.key -storepass 222222) 簽名的資訊就有了:如果僅僅是要檢視APK的簽名信息,第一步的方法就夠了,只是如果要給APK檔案簽名的話,就需要用第二步中的方法,這樣會得到keystore檔案的別名,這個在APK檔案簽名中是需要的。

3. 對沒有簽名的apk進行簽名,直接忽略第一步,從第二步開始(

如何重簽名APK檔案,第一步開始
   (1)
需要刪除apk包中的簽名檔案,META-INF(更改apk格式為壓縮包形式,刪除META-INF資料夾,改回.apk格式);   (2)將證書(debug.keystore)複製到與需要重新簽名的apk檔案相同的目錄下(如:複製到D:\Sign)
 圖片
(3)進入cmd模式,進入D:\Sign目錄;

 (4)執行下面的命令jarsigner -verbose -keystore debug.keystore -signedjar PhoneBook_signed.apk -digestalg SHA1 -sigalg MD5withRSA PhoneBook.apk androiddebugkey

jarsigner命令格式:-verbose輸出詳細資訊 -keystore金鑰庫位置 -signedjar要生成的檔案 要簽名的檔案 金鑰庫檔案
 -signedjar PhoneBook_signed.apk表示簽名後生成的APK名稱
PhoneBook.apk表示未簽名的APK 
Android軟體-digestalg SHA1 -sigalg MD5withRSA:這就是必須加上的引數,如果你是jdk 1.6也不受影響
-androiddebugkey表示Key的別名