1、打包安卓包首先要安卓Java的JDK,以及配置好环境变量
下载JDK的链接见下:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html根据自己电脑的配置下载对应的JDK版本,下载好以后点开跟着步骤一步步往下安装就好。
接下来配置环境变量:
1-1 右键“我的电脑”--选择“属性”(这里我的电脑不能是快捷方式,否则找不到属性的)
1-2 选择右边栏的“高级系统设置”--“环境变量”,如图:
1-3 点按系统变量下的“新建”,变量名输入“JAVA_HOME”,变量值输入“D:\java\jdk1.8.0_20”(变量值是JDK安装的路径),如图:
1-4 点按已经存在的“Path”环境变量,如图:
添加新的变量:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
D:\AndroidSDK\android-sdk\tools
D:\AndroidSDK\android-sdk\platform-tools
添加完成以后点按确定就好
1-5 判断是否配置成功,打开cmd,运行命令javac,如果想下图显示的一样,就是配置成功了:
2、安装AndroidSDK,下载地址如下:
https://developer.android.com/studio/index.html 下载好以后,点按跟着步骤安装(如果下载很慢或不能下载,可以问已经下过的小伙伴要)
安装完成后,在进入路径:
D:\AndroidSDK\android-sdk
打开SDK Manager.exe,下载sdk tools:
注意:
这里有一个很诡异的情况就是,即使下载成功,但是等到打包时,有时候还是会报SDK相关的错误,所以只能根据错误提示再对相应的板块进行更新下载,全下载的话会很大
1、通过git进入需要打包的项目的库
3-1 先添加Android平台:
ionic platform add android (也可以在后面添加@6.1.0,这个指定版本是为了打出来的包启动时间能快一点,但是前提是需要把ionic更新到3.4.0版本)
3-2 编译安apk包:
ionic build android --prod
(这个命令用来编译安卓测试包,即未签名的包)
然后就可以进入
{项目路径}\platforms\android\build\outputs\apk
这个路径下查看到apk安装包了
2、打安卓的签名包(签名包一般是用来打线上环境包的,外测包不需要这么打)
4-1 首先需要生成用来打签名包的签名文件keystore,打开运行cmd,输入命令:
{生成keystore文件的路径}$ keytool -genkey -alias sign.keystore -keyalg RSA -validity 70000 -keystore sign.keystore
#说明:
# -genkey 产生密钥
# -alias sign.keystore别名sign.keystore
# -keyalg RSA 使用RSA算法对签名加密
# -validity 70000有效期限70000天(我是尽量填大些,这个代表当前打的签名包的有效期)
# -keystore sign.keystore生成签名文件的名称(我一般是把别名和名称写一样的)
然后点按回车,如图所示
注意:输入的密码一定要记住,后面打包需要用到,keystore密码和主密码我都保持一样的
4-2 接下来通过git进入项目目录,输入打包命令:
ionic build android --prod --release
等跑成功以后,进入上面说过的放置apk的文件夹可以看到有个命名中带有unsigned的apk,这个包是无法安装到手机上面的
4-3 打开运行cmd(用git打开这个路径打签名包会报错,我也不知道为什么,还没找到原因),输入打包命令:
jarsigner -keystore {keystore文件的路径} -signedjar {生成签名包路径} {未签名包路径} {keystore文件名称}
举个栗子:
jarsigner -keystore D:\SignApk\sign.keystore -signedjar {项目路径}\platforms\android\build\outputs\apk\android-armv7-signed.apk {项目路径}\platforms\android\build\outputs\apk\android-armv7-release-unsigned.apk sign.keystore
回车时候会弹出下图:
前面记住的密码用到了,需要输入密码,不过密码不是明文的,你是看不到的,输好以后按回车会出现如图所示,那就证明打签名包成功了:
如图所示,证书到期时间也是显示出来的,这就是为什么我会把有效期时间写长点的原因。
最后就可以进入生产的签名包路径找到apk,进行安装了。