以下内容的前提是ionic2得环境搭建好,包括SDK
- 下载android platform
- 有两种模式,一种是debug,一种是release
- 如何生成签名
- 如何自动签名
- --prod的优化启动速度
1.添加Android平台支持
- 在工程目录下执行
ionic platform add android
命令
项目的路径下就会自动生成platform文件夹,里面有一个android文件夹。
添加Android平台支持后就可以打包apk了 - 在工程目录下执行
ionic build android
命令
会在 xxx\platforms\android\build\outputs\apk下生成android-debug.apk
这种命令生成的apk是用于调试的。 - 安装到手机
连接手机或者打开模拟器,在xxx\platforms\android\build\outputs\apk下打开命令窗口执行adb install android-debug.apk
就能将apk安装在手机或者模拟器上了。
2.两种打包的版本
一种是debug调试版,一种是release发布版
- 打包debug调试版
在工程目录下执行ionic build android
,生成的apk就是debug调试版本 - 打包release发布版
在工程目录下执行ionic build andorid --release
,生成的apk就是release发布版本。
如果没有配置签名文件则默认只生成android-release-unsigned.apk,没有签名的apk。release版本是必须有签名才能在手机上运行。
3.生成签名文件
有两种方式生成签名文件
1.使用Android Studio
2.使用jdk的KeyTool生成签名文件
生成签名文件的命令:
keytool -genkey -v -keystore name.jks -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
name.jks,name可以自定义,jks是Android studio生成的签名文件的后缀,这里默认使用jks也可以;
alias_name是别名,也是自定义的。
注意注意:
问是否正确的时候要回答中文'是',一开始傻乎乎回答'yes'结果没反应 (╯‵□′)╯︵┻━┻
4.如何打包的时候自动签名
在工程目录/platforms/android目录新建名为release-signing.properties的文件,文件内容如下
storeFile=path to keystore
keyAlias=your key alias
storePassword=your store password
keyPassword=you key password
使用ionic build android --release
编译即可,在/platforms/android/build/outputs/apk下就会生成已签名的安装包android-release.apk
在windows下storeFile文件路径应使用Unix下的目录分隔符/。
参考文章:
http://www.jianshu.com/p/0588510fbb97
5.--prod的优化启动速度
这个是在ionic2的QQ群里面大神说的
在编译命令的最后加上--prod会让app的启动速度加快。
ionic build android --release --prod
无论是debug版本还是release版本都适用。
经过几次测试后得到的启动时间数据:
打包命令 | Genymotion模拟器 6.0 | 华为4C 5.1 | 三星平板 4.4.2 |
---|---|---|---|
--debug --prod | 6s | 6s、5s | 没测 |
--release | 4.5s | 12s | 13s |
--release --prod | 5s、4.5s | 5s | 5s |
ionic2打包的项目都是需要启动这么久的吗?你们是这样的吗?希望路过的大神指引一下小菜鸟。
好好学习,天天向上。<( ̄oo, ̄)/