天天看點

Ionic3--Android打包流程

(如果打包前的Android環境還沒有配置好,請參考我的另一篇文章:https://blog.csdn.net/weixin_44035088/article/details/87066964)

一、生成apk檔案

  1. 在項目檔案目錄運作終端輸入打包指令
    ionic cordova build android --prod --release
               
    運作一段時間的編譯和生成後,控制台會提示生成完成資訊以及生成的apk檔案位置,示例:
    /Users/kobe/Desktop/ionic/imooc/zhihu/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk
               
  2. 如果打包之前有修改檔案,或者之前進行過打包,要先檢查一下

    platforms

    檔案夾下是否有之前添加的Android平台支援,如果有要先将其移除,執行以下指令:
    ionic cordova platform rm android
               
  3. 可能出現的錯誤
    Ionic3--Android打包流程
    解決方案:
    //全局安裝increase-memory-limit
    sudo npm install -g increase-memory-limit
    //進入工程目錄,執行:
    increase-memory-limit
               
    指令執行成功後再重新執行打包指令即可。

二、生成用于簽名的私鑰

  1. 建立一個檔案夾用于存放私鑰
  2. 在建立的檔案夾下運作終端并輸入:
    keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias
               
    代碼解釋:
    • keytool

      :是工具名稱
    • -genkey

      :意味着執行的是生成數字證書操作
    • -v

      表示将生成證書的詳細資訊列印出來,顯示在dos視窗中
    • -keystore my-release-key.jks

      表示生成的數字證書的檔案名為“my-release-key.jks”(名字可以自定義)
    • -alias my-alias

      表示證書的别名為“my-alias”(名字可以自定義)
    • -keyalg RSA

      表示生成密鑰檔案所采用的算法為RSA
    • -validity 20000

      表示該數字證書的有效期為20000天,意味着20000天之後該證書将失效
  3. 回車之後根據提示完成資訊配置,如下圖:
    Ionic3--Android打包流程
  4. ⚠️私鑰的密碼要記住,後面會用到。

三、對apk檔案進行簽名

  • 将之前生成的私鑰檔案複制到

    app-release-unsigned.apk

    所在的目錄下
  • 在目錄下終端運作以下指令:
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.jks app-release-unsigned.apk my-alias
               
    代碼解釋:
    • -keystore my-release-key.jks

      :之前生成的私鑰的檔案名
    • app-release-unsigned.apk

      :運作打包指令後生成的未簽名apk檔案
    • my-alias

      :私鑰的别名
  • 回車之後根據提示輸入私鑰密碼,随後會對apk進行簽名并生成新的apk,如下圖:
    Ionic3--Android打包流程

四、優化apk檔案并改名

  • 在終端繼續運作:
    /Users/kobe/Library/Android/sdk/build-tools/28.0.3/zipalign -v 4 app-release-unsigned.apk zhihu.apk
               
    1、這裡

    /Users/kobe/Library/Android/sdk/build-tools/28.0.3/zipalign

    路徑是

    zipalign

    工具所在的檔案路徑。

    2、指令執行完成後會在檔案夾下生成一個名為

    zhihu

    的apk檔案
Ionic3--Android打包流程

大功告成,随後就可以将簽名後的apk安裝到自己的手機上進行檢視了。