1.基本的依赖环境
Node.js、Jdk、SDK、Gradle
Jdk,sdk,gradle 百度网盘下载地址 : https://pan.baidu.com/s/16MvuV9Nlq-SCCnyGYBYiPQ
2.环境配置
1.node.js (直接官网下载安装就可以了, 在cmd中 node -v 检测是否安装成功)
2.Jdk配置:
下载完成,解压,直接按照提示安装,全局点确定,不出意外,最后的安装路径为:C:\Program Files\Java
OK,jdk安装完成,在cmd中,输入$ java -version
验证是否安装成功。
3.sdk (需要配置环境变量)
解压后(直接右键X解压并重命名。因为面还有个文件夹,不建议用右键+E解压)。
将重命名的文件夹,跟jdk放在一个父目录,便于查找:C:\Program Files\SDK
接着配置环境变量,我的电脑——右键属性——-高级系统设置——-环境变量。
在下面的系统变量(s)中,新建,键值对如下:
name: ANDROID_HOME
key: C:\Program Files\SDK
然后在path中,全局声明一下,将 ;%ANDROID_HOME%\tools 缀在最后面,前面有【;】分隔符。(注:win 10 系统不 需 要 封号,SDK,JDK也是同理)。
然后运行CMD,输入$ android -h
,如果出现一大堆指令,说明你的SDK安装无误,并且环境变量配置OK。
现在,打开SDK目录下的SDK Manager.exe
打开界面上的Tools,选择options,先配置国内镜像:
域名千万不要输入http或者https协议前缀
回到主界面,点packages再点reload
先勾选如下图的三个Tools:
分别是[ Android SDK Tools,Android SDK platform-tools,Android SDK Build-tools]
还没完,下面还有一个:[SDK platform]
全部选中后,点右下角 install packages 来安装,耐心等待即可。
4.gradle安装(需要配置环境变量)
同样安装在JDK,SDK的目录下,便于查找。
同样的配置环境变量:
GRADLE_HOME=C:\Program Files\SDK\gradle-4.1
;%GRADLE_HOME%\bin
测试命令(查看版本):gradle -v
以上开发环境安装完成的话,ionic正常打包的环境是没问题了,可以打包测试apk
ionic cordova build android
如若你聪慧的双眼发现如下字眼:Build Success! 说明你已经成功打包了。耐心等待,命令行结束会提示你apk的生成位置.
OK,此时你已经有了debug的包,但是这个包没有签名,不能发布。
3.生成签名秘钥以及生成签名的Apk
1.在JDK目录下的bin文件夹下(C:\Program Files\Java\jdk1.8.0_71\bin),先看看有没有keytool.exe和jarsigner.exe文件,这两个程序用于给APK签名,签名以后即可发布。
2.将Ionic生成的文件先命名为app.apk,然后复制一份当前的bin目录里,执行 keytool.exe ,如果程序cmd窗口闪退,就手动打开cmd窗口,
用java keytool生成密钥,运行如下命令:
keytool -genseckey -alias billben -keypass 12345678 -keyalg aes -keysize 128 -storepass 12345678
输出错误信息:
keytool错误: java.security.KeyStoreException: Cannot store non-PrivateKeys
解决办法:
指定-storetype 为 jceks,修改的命令为:
keytool -genseckey -alias billben -keypass 12345678 -keyalg aes -keysize 128 -storepass 12345678 -storetype jceks
原因:
java默认的密钥库类型为JKS, 除这种类型外,还有PKCS12、JCEKS两种类型,要存储secret key要使用JCEKS类型,另外两种不支持。
最后输入
keytool -genkey -v -keystore [姓名].keystore -alias [姓名].keystore -keyalg RSA -validity 20000
此时按下回车,即可生成签名: ***.keystore
生成签名的APK
jarsigner -verbose -keystore [姓名].keystore -signedjar 已签名.apk app.apk [姓名].keystore
按下回车,你会发现,bin文件夹里多了个 已签名.apk 这时候,可以说,一个软件就诞生啦!