ionic進行開發完項目後,需要進行打包。如果需要上架的話,在Android端,打完包後還需要簽名然後上傳至各應用商店。
首先是關於apk簽名,Android程序的安裝是以包名(package name)進行區分的,就是同樣的包名會被認作是同一個程序。這樣就可以進行升級、替換。但是包名是一個可以被查看的字符串,這樣就可能被偽造,然後其他人就可以自己創建一個應用去替代你的應用,結果可想而知。而簽名就是為了防止這樣的情況發生,當你的程序被簽名後安裝,只有同樣包名與簽名的程序才能被替換安裝。而簽名是不可能簡單被偽造的,從而保證了程序的安全性。
一、打包apk
ionic bulid android //打包測試包
ionic build --release android //打包正式包
ionic裡面打包的命令特別簡單,只需要一條命令,上面一條命令是用來打包測試包的,裡面已經包含了簽名,可以直接在手機上安裝,但是不能用來上應用市場,第二條命令是打包成一個沒有簽名的apk,不能直接安裝,需要進行第二個步驟。
二、簽名apk
1.生成簽名(.keystore)文件
keytool -genkey -v -keystore demo.keystore -alias demo.keystore -keyalg RSA -validity 20000
keytool是工具名稱,-genkey意味著執行的是生成數字證書操作,-v表示將生成證書的詳細信息打印出來;
-keystore demo.keystore 證書的文件名;
-alias demo.keystore 表示證書的別名
-keyalg RSA 生成密鑰文件所采用的算法;
-validity 20000 該數字證書的有效期;
輸入後會讓你回答關於你公司和地區的一些問題,這些回答一定要記住,以後更新apk的時候需要用到,最好截屏記錄。
2.簽名apk
jarsigner -verbose -keystore /yourpath/demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
jarsigner是工具名稱,-verbose表示將簽名過程中的詳細信息打印出來;
-keystore /yourpath/demo.keystore 之前生成的證書
-signedjar demo_signed.apk 簽名後的apk
demo.apk 需要簽名的apk
demo.keystore 證書的別名