ionic安卓打包apk--安卓簽名

  上週項目上線,在網上看了看打包的博客,感受不是很清晰我本身來總結下android

  

  首先,咱們在項目的根目錄下 build android apk 的時候執行的命令必定要是 ionic build android -release  而不是 ionic build android.  這樣簽名後的apk在手機上才能正常的運行。否則可能提示:簽名校驗失敗,若是是build android apk  這是系統自動簽名,咱們要手動簽名算法

  ionic build android -release  執行完這個命令以後安裝包會在這裏app

  

 

 

  下面的cmd 命令咱們須要進入到platforms/android目錄下執行。否則可能沒法正常安裝 ionic

  給apk簽名一共要用到3個工具,或者說3個命令,分別是:keytool、jarsigner,下面是對這2個工具的簡單介紹:工具

  1)keytool:生成數字證書,即密鑰,也就是上面說到的擴展名爲.keystore的那類文件;
       2)jarsigner:使用數字證書給apk文件簽名;ui

        1)keytool:該工具位於jdk安裝路徑的bin目錄下;
        2)jarsigner:該工具位於jdk安裝路徑的bin目錄下;spa

      不知道你們是否注意到keytool和jarsigner兩個工具是jdk自帶的,也就意味着生成數字證書和文件簽名不是Android的專利;另外從字面上理解jarsigner也能猜得出該工具主要是用來給jar文件簽名的。orm

   1》使用keytool工具生成數字證書blog

    keytool -genkey -v -keystore liangzai.keystore -alias liangzai.keystore -keyalg RSA -validity 20000cmd

  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包在同一路徑下 這樣才能簽名成功 要否則會提示你簽名失敗

相關文章
相關標籤/搜索