2018-09-12

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

2018-09-12_第1张图片

2

2018-09-12_第2张图片

3

2018-09-12_第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 ,版本都是缺少的版本,不是瞎装的 

你可能感兴趣的:(2018-09-12)