ionIc3项目运行在虚拟机上https://blog.csdn.net/yelllowcong/article/details/79456239
ionic3之在模拟器上运行ionic3程序-yellowcong
2018年03月07日 08:38:26 阅读数:417 标签: ionic 更多
个人分类: ionic
版权声明:本文为博主yellowcong原创文章,未经博主允许不得转载。 https://blog.csdn.net/yelllowcong/article/details/79456239
配置ionic来生成apk的操作。说实话,这个地方坑还真不少啊,我就遇到不少坑啊,1、jdk版本需要和系统版本一致,2、sdk安装,需要安装和ionic的build.gradle 的android版本,也不是下安装的,3、修改StudioBuilder.js,设置请求的gradle-4.1-all.zip 文件地址。
JDK配置
需要保证jdk的位数和window的系统的位数一致,不然会报错,说内存不够
需要保证64位的系统安装64位的jdk,不然就会报错,会哭的。
android SDK下载地址
#官网下载地址http://tools.android-studio.org/index.php/sdk#个人下载地址http://yellowcong.qiniudn.com/installer_r24.4.1-windows.exe
1
2
3
4
5
根据build.gradle 来进行sdk的安装,大家可以看到,我指定的sdk版本是26的。
配置环境变量
变量名路径
ANDROID_HOMED:\Program Files\Android\android-sdk
PATHD:\Program Files\Android\android-sdk\platform-tools
D:\Program Files\Android\android-sdk\tools
配置环境变量,2个环境变量配置
验证是否配置成功
# 查看是否有android 设备连上服务了adb devices
1
2
Genymotion
这个是一个android的模拟器,使用这个模拟器的时候,需要注册用户,然后才可以使用,这个模拟器速度挺快的。
#官网下载地址http://www.genymotion.net/#个人下载地址http://yellowcong.qiniudn.com/genymotion-2.10.0-vbox.exe
1
2
3
4
5
安装完成了之后,创建虚拟机
启动虚拟机
验证模拟器是否连接adb
查看虚拟机是否能查看到虚拟机的信息。
adb devices
1
ionic3打包到android
修改StudioBuilder.js
修改StudioBuilder.js 文件(下面的是源文件)
修改后的代码,指向当前wrapper目录下面的gradle-4.1-all.zip 文件,这个是单独下载的
修改后效果(ps:这个文件夹的路径是根据StudioBuilder.js 自动生成的,不是手动改的)
打包apk
#添加android, 如果是ios ,设置ioscordova platform add android#编译成apkionic build#开启cordova run android
1
2
3
4 cordova run android
5
6
7
8
常见问题
Exception in thread “main” javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
导致这个问题的原因就是gradle-4.1-all.zip 没有下载下来,
Downloading https://services.gradle.org/distributions/gradle-4.1-all.zipExceptioninthread"main"javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
1
2
3
4
5
解决方案
我们的解决方法有两种,1、单独下载下来(建议这种方法,这种不用每次都去下载),2、修改为http协议的
方法1、单独下载gradle-4.1-all.zip
修改StudioBuilder.js 文件(下面的是源文件)
修改后的代码,指向当前wrapper目录下面的gradle-4.1-all.zip 文件,这个是单独下载的
修改后效果(ps:这个文件夹的路径是根据StudioBuilder.js 自动生成的,不是手动改的)
方法2、修改https协议为http
将https协议修改为http协议
修改后gradle-wrapper.properties 文件,就自动也修改为 http协议的了,修改为我们手动修改的配置(ps:这个文件夹的路径是根据StudioBuilder.js 自动生成的,不是手动改的)
修改后,看到下载地址为 http了
Could not reserve enough space for 2097152KB object heap
Erroroccurred during initializationofVMCouldnotreserve enough spacefor2097152KBobjectheap
1
2
可以从提示信息中可以看出,就是由于内存不够,所以报错了。
其实这个问题真正的原因是java的版本问题,是64位的系统安装了32位的系统的jdk导致的。 我也是看到别人的提示发现,我还真的是64的系统装32位的jdk,我也是醉了。
No installed build tools found. Install the Android build tools version 19.1.0 or higher.
出现这个问题的原因是没有android的build-tools
解决办法
下载一个build tools 即可
下载完成后,build-tools目录下,就是当前下载的build工具
You have not accepted the license agreements of the following SDK components [Android SDK Platform 26, Android SDK Build-Tools 26.0.2].
出现这个问题,就是刚刚的sdk装得有问题啊,应该把Android SDK Platform 26相关的工具都安装上
解决办法
安装sdk platform ,版本都是缺少的版本,不是瞎装的
安装build tools ,版本都是缺少的版本,不是瞎装的