您的位置:首页 > 移动开发

windows下 ionic 打包app --以安卓版本为例

2017-03-20 15:42 309 查看
环境安装

1.nodejs

安装版本5.7,尽量不要安装太新的版本,因为可能会出现兼容性问题,一开始本人安装的是6.+的版本,后来出现问题的,马上换回5.7的,问题就不会出现了。

安装教程网上教程很多。

2.JDK

下载安装jdk,我这里装的版本是1.8,(切记要和自己电脑的位数要一致 32/64,不然打包过程可能会出问题)

配置环境变量:

新建系统环境变量 JAVA_HOME,路径指向jdk的安装目录,如:E:\Program Files\Java\jdk;

新建系统环境变量CLASS_path,路径: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

在系统变量path里面添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

尝试向命令行输入javac,如果没报错,则配置成功了

3.SDK

下载安装sdk即可,

配置环境变量:

新建系统环境变量ANDROID_HOME ,路径: E:\AndroidSDK (路径不能包含空格,因此我直接装在E盘根目录,而不是Program file 目录下)

向用户变量PATH里面添加路径:%ANDROID_HOME%\platform-tools;

向系统变量path里面添加路径:%ANDROID_HOME%\tools;

尝试向命令行输入adb,如果没报错,则配置成功了;

接下来打开Android SDK Manager,下载好以下几个包:







(图上为installed即是我下载的,当然有一个是要更新的,Android SDK platform-tool,我暂不更新)

4.确保已经安装有ionic 和cordova

npm install ionic cordova -g

这里顺带记录一下,npm安装全局依赖,为了方便管理包,我是直接在nodeJS 的安装目录下C:\Program Files\nodejs,新建node_cache、node_global连个文件夹,node_global用于保存所有npm全局安装的依赖包。

然后配置环境变量:

向用户变量path ,添加路径:C:\Program Files\nodejs\node_global\;

向系统环境变量path,添加路径 C:\Program Files\nodejs\;

新建系统环境变量,NODE_PATH , 添加路径: C:\Program Files\nodejs\node_global\node_modules;

打开命令行窗口运行一下命令修改npm全局安装路径:

npm config set prefix "C:\Program Files\nodejs\node_global"

npm config set cache "C:\Program Files\nodejs\node_cache"

这样一来,全局安装的包就会被本项目所引用到了,并且统一装在C:\Program Files\nodejs\node_global\node_modules目录下面,可以重复利用,避免多次安装;

5.到这里,环境安装的差不多了,可以进行打包了

执行添加安装平台的命令

ionic platform add android

打包项目

cordova build --release android

#如果出现报错

Error:Unable to start the daemon process.


成功后就会在项目根目录 platforms\android\build\outputs\apk\下可以找到尚未签名的apk

#如果在download gradle 很久,然后报错时,可以通过以下方法解决:

上网找对应版本的gradle zip包(看命令行提示的是什么版本) ,下载后粘贴路径如:myApp\platforms\android\gradle\gradle-2.2.1-all.zip;

然后找到 project/platforms/android/cordova/lib/builders/GradleBuilder‌​.js,这个文件里面,找到变量 var distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip;将路径改成你刚刚存放gradle包的路径

../../../android/gradle/gradle-2.13-all.zip

这样问题就解决了;

6.apk签名

生成key证书于项目根目录 sm.keystore

keytool -genkey -v -keystore sm.keystore -alias sm.keystore -keyalg RSA -validity 20000

(keytool是在jdk里面的一个生成key签名证书的工具,E:\Program Files\Java\jdk\bin下可以找到)

根据key证书进行apk签名

jarsigner -verbose -keystore sm.keystore -signedjar D:\PHP\htdocs\shenmaf\platforms\android\build\outputs\apk\shenma.apk D:\PHP\htdocs\shenmaf\platforms\android\build\outputs\apk\android-release-unsigned.apk sm.keystore

jarsigner 是签名工具也是在jdk里面;

sm.keystore是上面所生成的签名证书

-signedjar 后面第一个参数是签名后apk的存放路径,第二个参数是尚未签名的证书的路径

执行完后,即可在上述指定的路径下生成shenma.apk,安卓手机安装运行即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: