標籤:數字 部落格 png app signed ionic img 包括 注意
上周項目上線,在網上看了看打包的部落格,感覺不是很清晰我自己來總結下
首先,我們在項目的根目錄下 build android apk 的時候執行的命令一定要是 ionic build android -release 而不是 ionic build android. 這樣簽名後的apk在手機上才能正常的運行。不然可能提示:簽名校正失敗,如果是build android apk 這是系統自動簽名,我們要手動簽名
ionic build android -release 執行完這個命令之後安裝包會在這裡
下面的cmd 命令我們需要進入到platforms/android目錄下執行。不然可能無法正常安裝
給apk簽名一共要用到3個工具,或者說3個命令,分別是:keytool、jarsigner,下面是對這2個工具的簡單介紹:
1)keytool:產生數位憑證,即密鑰,也就是上面說到的副檔名為.keystore的那類檔案;
2)jarsigner:使用數位憑證給apk檔案簽名;
1)keytool:該工具位於jdk安裝路徑的bin目錄下;
2)jarsigner:該工具位於jdk安裝路徑的bin目錄下;
不知道大家是否注意到keytool和jarsigner兩個工具是jdk內建的,也就意味著產生數位憑證和檔案簽名不是Android的專利;另外從字面上理解jarsigner也能猜得出該工具主要是用來給jar檔案簽名的。
1》使用keytool工具產生數位憑證
keytool -genkey -v -keystore liangzai.keystore -alias liangzai.keystore -keyalg RSA -validity 20000
1)keytool是工具名稱,-genkey意味著執行的是產生數位憑證操作,-v表示將產生認證的詳細資料列印出來,顯示在dos視窗中;
2)-keystore liguangyang.keystore 表示產生的數位憑證的檔案名稱為“liufeng.keystore”;
3)-alias liguangyangw.keystore 表示認證的別名為“liguangyangw.keystore”,當然可以不和上面的檔案名稱一樣;
4)-keyalg RSA 表示產生密鑰檔案所採用的演算法為RSA;
5)-validity 20000 表示該數位憑證的有效期間為20000天,意味著20000天之後該認證將失效
在執行上面的命令產生數位憑證檔案時,會提示你輸入一些資訊,包括認證的密碼,樣本如下:
2》使用jarsigner工具為Android應用程式簽名
jarsigner -verbose -keystore liaguangyang.keystore -signedjar notepad_signed.apk notepad.apk liaguangyang.keystore
說明:
1)jarsigner是工具名稱,-verbose表示將簽名過程中的詳細資料列印出來,顯示在dos視窗中;
2)-keystore liaguangyang.keystore 表示簽名所使用的數位憑證所在位置,這裡沒有寫路徑,表示在目前的目錄下;
3)-signedjar yun.apk notepad.apk 表示給notepad.apk檔案簽名,簽名後的檔案名稱為notepad_signed.apk;
4)最後面的liaguangyang.keystore 表示認證的別名,對應於產生數位憑證時-alias參數後面的名稱
如下:
這樣就產生了 一個簽完名的app
在簽名的時候切記 簽署憑證必要要和apk包在同一路徑下 這樣才能簽名成功 要不然會提示你簽名失敗
ionic安卓打包apk--安卓簽名