天天看点

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安装到自己的手机上进行查看了。