1.打包前的环境搭建
ionic的运行环境这里就不一一赘述了,不懂得可以去网上看看教程。这里主要记录Android的打包过程
1.1安装jdk,并配置Java环境
首先安装java jdk (下载前看清版本是32还是64的),安装完成后配置环境变量,并输入$ java -version验证是否安装成功。(参考教程)
1.2安装并配置android sdk
android开发者官网下载sdk比较慢,甚至访问不了,所以建议去android中文网。安装完成后配置环境变量。输入$ android -h检查是否安装成功(参考教程)
1.3安装并配置gradle
配置完成sdk之后,就可以执行ionic platform add android编译app,不过这个时候需要下载gradle。(gradle过大,所以建议手动下载http://services.gradle.org/distributions/)。测试命令(查看版本):gradle -v
2.android打包(测试版)
创建ionic项目并可以成功启动以后,cd 进入到项目的根目录下,运行命令添加平台
ionic cordova platform add android
在确保jdk sdk环境变量无误后,执行编译命令
ionic cordova build android //编译debug版本
ionic cordova build android --prod //prod优化代码提升运行速度
如果出现 Build Success! 说明你已经成功打包了
好了,如果你只是用来测试的话,到此debug版本的Android就打包成功啦!!!!
3.Android打包(发布版)
与开发版本不同,如若想要正式发布的话需要执行编译命令
ionic cordova build --release android
注意:发布要使用Release版本,所以这里加上--release选项。完成之后生成了未签名的apk,在目录platforms/android/build/outputs/apk/HelloWorld-release-unsigned.apk。
生产key
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
这里会问一些问题,填写之后生成keystore文件。(git可能会出现中文乱码的状况。右击git bash here => options => text => local选择zh_CN character set选择utf-8 或者GBK)
对apk文件进行签名
首先切到platforms/android/build/outputs/apk/目录中。然后把之前生成的keystore文件粘贴到同级目录中。执行命令
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
HelloWorld-release-unsigned.apk 是之前未签名的apk
alias_name是签名之后的apk .
到这里基本上就可以正式发布了,不过个人建议还是使用zipalign优化一下apk
zipalign优化apk
笔者按照网上许多教程执行命令:
zipalign -v 4 notepad_signed.apk notepad_signed_aligned.apk
结果报错找不到zipalign 最后笔者找到zipalign 所在目录(zipalign是sdk的压缩代码工具,可以将我们的apk体积最小化,一般都在sdk安装目录build tools\25.0.1\zipalign.exe下 25.0.1是android sdk版本号)
在zipalign 所在文件目录打开命令行。执行命令
zipalign -v 4 D:xxxxxxx\apk\android-release-unsigned.apk alias_name.apk
D:xxxxxxx\apk\ 是apk所在目录
android-release-unsigned.apk 是未优化的apk的名字
alias_name.apk 是优化apk的名字
现在去你的zipalign所在的路径,可以看到压缩完成的apk文件。
现在就可以将我们压缩完成的apk文件上传到相应的应用市场,填写相应的APP信息,等待审核就可以了。