Android APK生成證書並簽名方法
Android開發者可能對此很熟悉。使用Cordova等工具初試Hybird開發的前端同學可能就並不了解了,記錄一下Ionic-cli / cordova項目打包APK后的簽名詳細過程共參考:
整個流程為:打包release版本的APK -> 生成keystore證書 -> 使用keystore證書簽名APK -> 發布到應用市場
這里我們只關注生成證書與簽名部分。
一、【前置環境准備】
電腦上安裝了Java JDK與Android SDK,配置好環境變量等。做Android這步應該都是好的,如果沒裝自行百度。
二、【生成keystore證書】
Android APK的keystore證書不收費,不需要申請,可以自己生成。
首先我們要使用keytool生成keystore證書。
keytool已經集成在JDK中了。在命令行輸入命令:
keytool -genkey -v -keystore myApp.keystore -alias myApp.keystore -keyalg RSA -validity 30000
運行一下試試
命令詳細說明
key | dec |
keytool | 工具名稱(固定寫法) |
)-genkey | 執行的是生成數字證書操作(固定寫法) |
-v | 打印生成證書的詳細信息 |
-keystore myApp.keystore | 生成的證書的文件名為"myApp.keystore"(根據需求,設置你的證書名) |
alias myApp.keystore | 證書的別名為"myApp.keystore"。(一般和上面的文件名相同,可以不同,但要記好,簽名時會用(A)) |
-keyalg RSA | 生成密鑰文件采用的算法為RSA(固定寫法) |
-validity 3000 | 該數字證書的有效期為30000天,30000天之后該證書將失效 |
按格式執行命令,
第一步會要求創建一個密鑰。自己輸入一個並記好。輸入后並不會顯示在窗口中,直接回車后,要求再次輸入,重復輸入后回車。
然后按提示填寫各個問題。
最后在生成證書時會要求輸入一個密鑰,比如 : android 這個密鑰是后面簽名要用到的務必記好(B),建議與上面密鑰相同。輸入后回車
就可以在當前命令行的位置生成如:"myApp.keystore"的證書文件。
過程如圖:
三、【給APK簽名】
2. 把apk 與 myApp.keystore 放在同一目錄下(不放在同一目錄下也可以。放同目錄下省去了配置路徑的麻煩)
3. 在該目錄下執行命令:
jarsigner -verbose -keystore myApp.keystore -signedjar android-release-signed.apk android-release-unsigned.apk myApp.keystore
運行一下試試
命令詳細說明
key | dec |
jarsigner | 工具稱名(固定寫法) |
-verbose | 顯示出簽名詳細信息 |
-keystore myApp.keystore myApp.keystore | 要使用的簽名證書文件 |
-signedjar android-release-signed.apk | 簽名后的文件名 |
android-release-unsigned.apk | 要簽名的文件 |
myApp.keystore | 別名,即(A)步中的別名 |
4. 執行上面命令會要求輸入簽名密碼,比如 android (上面(B)位置提到的)后回車,會在同目錄下生成一個簽好名的的android-release-signed.apk即為可發布的簽名包
過程如圖:
中間詳細信息截圖太長,省略