博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows下 ionic 打包app --以安卓版本为例
阅读量:4927 次
发布时间:2019-06-11

本文共 3075 字,大约阅读时间需要 10 分钟。

环境安装

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. 

This problem might be caused 
by 
incorrect configuration of the daemon. 
For example, an unrecognized jvm option 
is 
used. 
Please refer to the user guide chapter 
on 
the daemon at http:
//gradle.org/docs/2.2.1/userguide/gradle_daemon.html 
Please read the following process output to find 
out 
more: 
----------------------- 
Error occurred during initialization of VM 
Could not reserve enough space 
for 
object 
heap 
Error: Could not create the Java Virtual Machine. 
Error: A fatal exception has occurred. Program will exit.
 
解决方法:
新建系统环境变量 _JAVA_OPTIONS,值为: -Xmx512M;

确定,重新打包;

成功后就会在项目根目录 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,安卓手机安装运行即可。

转载于:https://www.cnblogs.com/luleixia/p/6589523.html

你可能感兴趣的文章
iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.
查看>>
python7
查看>>
python的and和or优先级
查看>>
if 调用common里的函数
查看>>
使用spring.net+nibernate时如何用aspnet_regiis加密数据库连接字符串
查看>>
UNION
查看>>
九.配置SMB共享(Samba共享)
查看>>
正则表达式
查看>>
Oracle RMAN Recover中使用BBED 跳过缺失的归档 继续 Recover 的测试
查看>>
定期备份脚本
查看>>
生成桌面插件
查看>>
Unable to resolve target 'android-9'
查看>>
vector和list的区别
查看>>
[LeetCode] 127. Word Ladder _Medium tag: BFS
查看>>
20172302 《程序设计与数据结构》第四周学习总结
查看>>
FZU 2086 餐厅点餐(枚举)
查看>>
HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(基础巴什博奕)
查看>>
多态,虚函数
查看>>
Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5
查看>>
get_locked_objects_rpt.sql
查看>>