一、生成簽名文件
命令:
keytool -genkey -v -keystore 簽名文件名稱.keystore -alias 簽名文件別名 -keyalg RSA -keysize 2048 -validity 20000 例如: keytool -genkey -v -keystore release-key.keystore -alias als-key -keyalg RSA -keysize 2048 -validity 20000
-keystore release-key.keystore 在當前目錄下創建release-key.keystore簽名文件 -alias als-key 文件別名為als-key,不配置則默認為mykey -keyalg RSA -keysize 2048 采用的RSA算法生成2048位RSA密鑰和簽名證書 -validity 20000 證書的有效期是20000天
創建過程如圖
二、使用簽名文件簽名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 簽名文件所在目錄 apk文件所在目錄 簽名文件別名
注意文件存放路徑的書寫,不同工具路徑書寫方式不同
如果使用git工具Git Bash運行命令
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore /d/CordovaProjectIALP/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk ialp-key
如果使用Windows自帶的命名工具
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore D:\CordovaProjectIALP\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk ialp-key
簽名的時候要求輸入密鑰庫的密碼
當然如果將簽名文件拷貝到apk所在目錄下,就沒有路徑問題
進入文件所在目錄 $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore app-release-unsigned.apk ialp-key
Git Bash也可以配置快捷命令對apk進行簽名
修改配置文件,添加快捷命令 $ vim ~/.bashrc
# 文件中添加以下命令 alias sign-ialp="jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /d/CordovaProjectIALP/release-key.keystore /d/CordovaProjectIALP/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk ialp-key"
# 使配置文件立即生效 $ source ~/.bashrc
# 運行以下快捷命令即可對apk文件進行簽名 $ sign-ialp
三、查看簽名文件信息
命令:
keytool -list -v -keystore [簽名文件]
$ keytool -list -v -keystore release-key.keystore