之前用Ionic+Angular做了几个小应用Demo,现在用其中一个做实验试下打包安卓的APK安装包。(备注:我用的应用demo是之前博客里写的汇率的Demo,不清楚的同学可以查哈~)
我是用ionic start创建的项目,在我的platforms里默认的只有IOS的平台,所以我要先安装上Android平台。
打开终端,进入到项目文件夹内,执行命令:$ ionic platform add android,之后等待添加完成。
第一步:先创建应用图标和启动图片
应用图标最少要1024px*1024px大小,启动图标最少要2208px*2208px,都要png-8格式的就可以了。做好图片后,我们把图标命名为icon.png,启动图片命名为splash.png,把这两张图片放到项目resources文件夹目录下,然后在android和ios文件夹目录下也各放一份,之后在终端执行命令:$ ionic resources,然后就会生成不同尺寸的图片。
(注:ionic resources命令默认会将图标和启动图片都生成不同尺寸的图片,如果像分别生成,可以执行ionic resources icon生成图标,执行ionic resources --splash生成启动图片)
第二步:优化项目文件
应用体积越小越好,所以我需要把项目里非必要的文件都清除掉。
① 移除Cordova Console插件
运行命令查看cordova插件列表:$ cordova plugin list
看到我们需要删除的插件:
运行删除插件的命令:$ cordova plugin rm cordova-plugin-console
执行成功:
② 移除所有不需要的文件
③ 移除库中不使用的文件
④ 压缩代码
⑤ 压缩图片
第三步 安装JDK 配置JAVA环境
下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载文件后,双击安装:
安装完成后点击关闭:
在终端运行命令:$ java -version,检测是否成功:
还可以在命令提示符中输入“javac”,能够出现用法提示,证明安装成功。
第四步 安装Android SDK Tools
需要下载两个工具:sdk tools和更新完的sdk的adt版本
sdk tools下载地址:http://www.androiddevtools.cn/
解压后命令行进入tools目录:$ cd android-sdk-macosx/tools/
输入命令:$ ./android sdk,然后我们会看到Android SDK Manager图形界面
从菜单栏Android SDK Manager 进入Preferences,进行如下配置:
然后从菜单Tools进入Manage Add-on Site:
然后把下面的网址手动new进去:
http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml
http://mirrors.neusoft.edu.cn/android/repository/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml
http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml
http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml
然后建议勾选下面打框的选项,之后进行安装就可以啦(Android版本我随便选了几个,不用选太低的版本):
然后设置Android环境变量:
打开终端,进入android sdk安装目录:
输入命令:$ touch .bash_profile
输入命令:open -e .bash_profile
打开.bash_profile添加路径(我的路径哈):
export ANDROID_HOME=/Users/jiangwei/Desktop/android-sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
保存文件并关闭
然后输入命令:$ source .bash_profile
在终端输入命令 adb点回车,如果未显示command not found,说明此命令有效,环境变量设置完成。
第五步 配置应用签名
回到应用项目目录下:
运行命令:$ keytool -genkey -v -keystore know_your_brew.keystore -alias know_your_brew -keyalg RSA -keysize 2048 -validity 10000
注意:使用你应用的名字来替代know_your_brew
,这个命令会生成一个新的文件,在本示例中为know_your_brew.keystore。
第六步 使用Cordova编译应用文件
使用build命令编译一个应用的发布版本:
终端进入到项目目录下,执行命令:$ cordova build --release android
该命令会生成一个新的APK文件,命令会返回编译后的APK文件的绝对地址,如下图所示:
第七步 签名应用文件
现在我们来使用之前创建的keystore文件来签名已生成的未签名版本的应用。
(我们先把已经生成的apk文件移到项目根目录下,不然可能会报错"无法打开 jar 文件: android-release-unsigned.apk")
终端执行命令:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore exr.keystore android-release-unsigned.apk exr
过程会需要一点时间,期间会提示输入keystore的密码密钥,命令会修改apk文件并对其进行签名。
可以使用命令$ jarsigner -verify -verbose -certs apk文件名,来验证应用是否签名成功。
第八步 优化APK文件
优化APK文件,使其减少在设备上占用的空间和内存。我们使用zipalign工具,它使用签名后的APK文件生成一个优化后的APK版本,用于应用上传。
在android-sdk目录里,我搜到zipalign的命令的地址是:./build-tools/25.0.2下面,从终端进入android-sdk目录下,执行命令:
$ open -e .bash_profile
打开.bash_profile文件,添加zipalign环境变量:export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/25.0.2
保存关闭文件
执行命令:$ source .bash_profile
然后返回到应用项目文件夹目录下,执行命令:
$ zipalign -v 4 android-release-unsigned.apk MyExrApp.apk
完成后会返回
至此,android APK文件已经生成并完成签名和优化,可以将它发到手机上就可以下载安装了,如果想要将它发布到应用商店,那就需要去应用商店注册开发者账户,将其提交到Android应用商店中。