Ionic Android打包

本教程适合于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制作完毕!
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,560评论 25 708
  • Ionic Android应用Release指南(转) 开始之前 先了解两件事情: Keytool 是一个有效的安...
    紫荆逸阅读 822评论 0 2
  • 打包前准备 1)确认网络地址 2)确认版本号 3)确认本地测试通过 打包步骤(适用MAC) 1)打开终端,cd 到...
    小林儿阅读 365评论 0 0
  • 一.准备工作:下载安装 Node.js (npm依赖包)JDK (Java开发工具包,即Java Dev...
    谢大见阅读 707评论 2 3
  • 每个人都应该有着不一样的人生,但是很多人都不会规划自己的人生,意思就是很多人不知道自己“在干什么”,将来“要干什么...
    云彦民阅读 522评论 2 4