美文网首页
Ionic Android打包

Ionic Android打包

作者: 危地马拉的大坑 | 来源:发表于2018-01-05 13:14 被阅读0次

    本教程适合于ionic3框架打包Android apk,命令与ionic2类似,可供ionic2参考。ionic之所以能运行在多个平台中,得益于集成了Cordova框架。

    1. 为ionic项目添加Android平台:

      ionic cordova platform add android
      

      同样,如果需要移除Android平台:

      ionic cordova platform remove android
      
    2. 编译Android apk包:

      这里有两种apk包,一种是debug类型的,一种是未签名的发布包。debug类型的比较大,而且运行在手机上会比较慢,使用ionic3的命令打包成未签名的发布包,可以进行优化,app运行速度会有质的提升。
      打包debug类型,默认命名为android-debug.apk:

      ionic cordova build android
      

      打包未签名的发布包类型,默认命名为android-release-unsigned.apk:

      ionic cordova build android --prod --release
      
      • -prod ionic的打包方式,可以加快app开启速度

      • -release 声明打包的是发布版

    3. 生成.keystore签名文件

      keytool -genkey -alias superatom.factory -keyalg RSA -validity 40000 -keystore superatom.factory.keystore
      
      • keytool是生成签名文件的工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来。
      • -keystore superatom.factory.keystore 证书的文件名;
      • -alias superatom.factory 表示证书的别名
      • -keyalg RSA 生成密钥文件所采用的算法;
      • -validity 40000 该数字证书的有效期;

    执行了这段命令,会在当前执行命令的目录下创建一个签名文件。

    1. 签名apk
      使用上面生成的签名文件签名apk:

      jarsigner -verbose -keystore /home/superatom/superatom.factory.keystore -signedjar factory_signed.apk android-release-unsigned.apk superatom.factory 
      
      • arsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来;
      • -keystore /home/superatom/superatom.factory.keystore之前生成的证书的绝对路径
      • -signedjar factory_signed.apk 签名后的apk 命名
      • android-release-unsigned.apk需要签名的apk
      • superatom.factory 证书的别名
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /home/superatom/superatom.factory.keystore -signedjar factory_signed.apk android-release-unsigned.apk superatom.factory 
    
    • 添加-sigalg SHA1withRSA -digestalg SHA1,即使用SHA1withRSA算法加密,如果不适用默认是SHA256withRSA。使用默认的算法会导致低版本的Android无法安装,360软件管家不允许发布此类算法签名的App。
    1. 到此,签名apk制作完毕!

    相关文章

      网友评论

          本文标题:Ionic Android打包

          本文链接:https://www.haomeiwen.com/subject/oiojnxtx.html