为什么要在线打包

Ionic本身是基于Cordova,Cordova的app打包又依赖于XCODE、ANDROID SDK、Gradle、Maven等等。
在Android编译环境配置的道路上一路填坑、屡战屡败之后,遂寻求其他出路。
国内的app跨平台开发解决方案(DeviceOne、DCloud等)都提供云端打包的服务,不用配置本地编译环境,就google了一下Ionic是否有提供云打包的服务。
先是找了Adobe PhoneGAP Build服务,按照网上的教程稍加修改也是可以编译Ionic的turtoal项目的。
还是觉得有点不安,毕竟Ionic估计还是有些不一样的东西。
后来又找到了ionic.io,它(对,貌似是官网。。。绕了一圈)提供在线打包服务,就它了。

上传项目文件

首先需要创建ionic.io的账号

clipboard.png

通过CLI命令上传项目文件

cd 项目目录
ionic upload

clipboard.png

提示需要输入刚才创建的Ionic账号,并等待上传成功

再访问apps.ionic.io/apps 可以看到刚刚上传的app name了

clipboard.png

生成签名文件

如果你仅仅是打个带debug签名的APK包,这一步可以省略
签名主要是为了防止被李鬼APK冒名顶替,为什么签名、debug和release签名区别,请参看Android签名详解
iOS这一步是不能省略的,否则无法编译,iOS的签名概念,可以参看关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

下面参照官方文档说一下APK的签名文件的生成和上传
生成签名使用JDK自带的keytool命令行工具

keytool -genkey -v -keystore MY-RELEASE-KEY.keystore -alias MY_ALIAS_NAME -keyalg RSA -keysize 2048 -validity 10000

MY-RELEASE-KEY.keystore是最终生成的文件名,MY_ALIAS_NAME是后面上传填表单时需要用到的alias,10000代表签名有效期是10000天

clipboard.png

填写必要信息和口令

上传签名文件

如果你仅仅是打个带debug签名的APK包,这一步可以省略
回到My Apps网页界面,点击该项目,选择settings ->
Certificates -> New一个 Security Profile
clipboard.png

再EDIT

clipboard.png

填入刚才创建签名文件和信息

clipboard.png

生成APK安装包

回到命令行,在项目目录下输入

ionic package build android

这条命令在没有配置签名文件的时候也能成功,我猜是打的是服务器上的debug签名,所以建议使用更详细的命令来生成安装包

ionic package build android --profile sdfs --release

sdfs是我刚才配置的Security Profile名称,需要改为你自己的配置名称
关于ionic package build更多的命令参看官方文档

clipboard.png

等待片刻,登录网站即可下载

clipboard.png

(END)


肥羊
57 声望3 粉丝