1.APK簽名的作用
唯一性:相同包名的APP,簽名使用的證書不一樣的話,系統不允許安裝。只有相同證書籤名的程序才能覆蓋老版本安裝。
2.生成keystore
keystore,翻譯是密鑰庫的意思,裏面也就是存儲公私密鑰對,和一些證書的信息
2.1 使用keytool生成keystore
keytool是jdk/bin中的密鑰和證書管理工具。以下是生成keystore命令。
查看keystore:
2.2 eclipse生成keystore並對APK簽名
右鍵項目-Export-Android-Export Android Application-Next-Next-Create new keystore-輸入密碼,別名一些內容,和使用keytool輸入的差不多-Finish,這裏導出了一個keystore和一個簽名後的APK,這個keystore和使用keytool生成的keystore一樣,也可以使用keytool命令進行查看等操作。
2.3 debug的keystore
不導出APK,程序bin目錄中生成的apk文件也是簽名過的,使用的是默認的keystore,在Window-Android-Build-Default debug keystore查看默認keystore的路徑,密碼是"android“
3.使用keystore對apk簽名
jarsigner是jdk/bin中的工具。
3.1 簽名
-verbose 輸出詳細信息
-keystore 指定密鑰庫
-signedjar 第一個參數爲輸出簽名後apk,第二個參數爲簽名前apk
最後加上密鑰庫別名
3.2 校驗
校驗apk文件: