ionic build android 中的报错详细原因以及解决方法
一、执行打包命令
ionic build android
1.报错:

原因: 其实也并非报错,但是会一直在下载gradle,由于网络或者其他原因,导致下载比较慢,
解决方案: 手动下载gradle,并安装下面方法进行安装和配置:安装完成之后然后打开cmd命令窗口,执行命令: gradle -v
查看是否安装成功;
2.重新build之后,报错如下:
Error: Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio

翻译: 找不到一个安装版本的Gradle在Android工作室,或者基于触摸屏安装Gradle包装器。请gradle包含在您的路径,或安装Android工作室
这个是因为你 本地没有安装 gradle导致的, 解决方案: 安装gradle ,如果已经安装的话,请配置环境变量;
下载地址:https://services.gradle.org/distributions/ 我本地下载的是 gradle-2.13-all.zip ;
然后将下载包放到位置: D:\myApp\platforms\android\gradle\ 下:
解压的时候可以解压到自己习惯的位置: 但是要配置 PATH 变量:

测试是否安装成功:
关闭cmd窗口,重新打开,并执行命令: gradle -v

然后再继续重新 build 打包;
如果还是出错或者还是会继续下载 gradle,那就按照下面的方法进行尝试:
1、打开 项目\platforms\android\gradle\wrapper 中的 gradle-wrapper.properties
更改distributionUrl 的地址:
distributionUrl =../gradle-2.13-all.zip
2、项目\platforms\android\cordova\lib\builders 中的 GradleBuilder.js
更改:var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'xxxxxxxxxxxxxxxxx';
如下:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.13.-all.zip';

二、出现新的问题:
重新build之后,又有新的报错: 如下;

尝试了几种常见的解决办法:
1)按照网上说的是 java虚拟机的内存不够,然后重新创建环境变量设置;
变量名:_JAVA_OPTIONS
变量值:-Xmx512M
但是并没有解决我的问题;
2)终于找到原因: 我的电脑是64位windows操作系统,而我安装的是32位的 jdk,故而 报出上面的错误;
1、如何确认自己的jdk的版本是 64位的还是32位的:
打开cmd命令窗口 执行命令: java -version
如果是64位的会显示如下所示,如果没有标明是多少位的,默认一般是32位的;

重新安装了64位匹配我电脑的版本的jdk,然后重新build;
又有了新的错误:
A problem occurred evaluating root project 'android'.
Failed to apply plugin [id 'com.android.aplication']
Minimum supported Gradle version is 2.14.1. Current version is 2.13. If using the gradle wrapper, try editing the distributionUrl in D:\MyAnguApp\ionic_demo1\gradle\wrapper\gradle-wrapper.properties to gradle-2.14.1-all.zip.
翻译: 其中要点: 最低支持Gradle版本是2.14.1。当前版本是2.13。
原来是我之前下载的gradle的版本太低了,最低支持的是 2.14.1 的版本,于是又重新下载更高的版本;
然后继续 build ,结果又报错:
报错内容: you have not accepted the license agreeements of the following SDK components:[Android SDK Platform 25]; ...
翻译: 你没有接受以下SDK组件的许可谈判:[Android SDK平台25]

解决方案: 通过打开android sdk manager.exe后把相应缺少的包

起初,我只勾选了这一个,然后进行安装完成后,再次build还是报同样的错误,于是,我索性将所有 7.1.1内部的插件全部勾选安装:

安装完成以后,再次进行build: 执行如下图:
开始我以为又要报错的节奏,因为一直在download 一些东西,中途我退出、重新build试了好几次,最终,找到原因:
原来是执行的慢的原因,只要你的网络没问题,稍微耐心等下一下,就真的见到了成果!!!!

忐忑 + 焦虑:这是要成功吗???

果然,YES !!成功了 ^_^ ^_^ ^_^

ionic build android 中的报错详细原因以及解决方法的更多相关文章
- 服务端返回的json数据,导致前端报错的原因及解决方法
前言 最近在开发的过程中遇到了一个问题:后端传过来的json字符串不是标准的json字符串 导致报错的原因 后端传过来的json字符串中包含一些不标准的字符或错误的引号嵌套 1)\n 2) \r 3) ...
- eclipse里index.jsp头部报错的原因和解决方法
index.jsp的头<%@这句报错的话,是因为没有引入Tomcat的原因.解决:A:Window---Preferences---server---RuntimeEnviroments--Ad ...
- 安装swoole出现make报错的原因与解决方法
安装swoole报错,错误信息如下: 报错原因 报错很明显,找不到 openssl/ssl.h ,首先要确认电脑上有没有安装 openssl Mac安装openssl 既然它找不到,那么就需要手动的指 ...
- zookeeper各种报错、原因及解决方法汇总(持续更新)
[root@iZ23nn1p4mjZ zookeeper-3.4.10]# bin/zkCli.sh -server localhost:2181,localhost:2182,localhost:2 ...
- git提交待审核代码,报错没有change-id的解决方法
git提交是报错没有change-id的解决方法: 1.先仔细查看报错内容,查出是哪天提交记录缺少change-id 2.如果是最近的一条缺少,则直接执行git commit --amend &quo ...
- 使用git clone 报错curl56 errno 10054解决方法
使用git clone 报错curl56 errno 10054解决方法 ----------------版权声明:本文为CSDN博主「伽马射线爆」的原创文章,遵循CC 4.0 BY-SA版权协议,转 ...
- eclipse中js报错简单快捷的解决方式
eclipse中对正确的js文件报错十分常见,我的项目中只要是以.js结尾的必会报错,作为一名小小的程序员,看到“满江红”甚是烦躁!今天就给大家分享一个方便又快捷的解决方案. 瞄准被报错的js文件点鼠 ...
- Tomcat8升级后URL中特殊字符报错出现原因
请求带上花括号等字符,请求无法送达服务端,报错: Failed to load resource: the server responded with a status of 400 () https ...
- django框架使用mysql报错,及两种解决方法
1.django框架 settings.py文件中部分代码: DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3' ...
随机推荐
- TP3.2.3 接入银联支付
TP3.2.3 接入银联支付 项目接入银联支付的过程, 在此记录下,希望能帮助开发盆友平坑. 银联SKD链接:https://open.unionpay.com/ajweb/product/newPr ...
- Linux企业运维人员必备150个命令汇总
命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) l ...
- .NET 构造Class返回多个json值
上次总结使用DataTable返回多个值,后来看到一个小哥的返回方式和我的有所不同,便留意了一下.原来他构造一个Class,而我构造的是一个Table. 首先说说两者的区别:拿student举例,st ...
- 【python】type()、instance()
>>> a=520 >>> type(a) <class 'int'> >>> a=' >>> type(a) &l ...
- iOS 多线程 简单学习NSThread NSOperation GCD
1:首先简单介绍什么叫线程 可并发执行的,拥有最小系统资源,共享进程资源的基本调度单位. 共用堆,自有栈(官方资料说明iOS主线程栈大小为1M,其它线程为512K). 并发执行进度不可控,对非原子操作 ...
- mkpasswd 随机密码生成
root@op-admin:~# mkpasswd -l -n usage: mkpasswd [args] [user] where arguments are: -l # (length of p ...
- nginx取结构体地址
linux内核提供了一个container_of()宏,可以根据结构体某个成员的地址找到父结构的地址. #define container_of(ptr, type, member) ({ \ con ...
- PredictionIO+Universal Recommender快速开发部署推荐引擎的问题总结(1)
1,PredictionIO如果用直接下载的0.11.0-incubating版本,存在一个HDFS配置相关的BUG 执行pio status命令时会发生如下的错误: -- ::, ERROR org ...
- LVM 详解
一.前言<http://blog.chinaunix.net/uid-186064-id-2823296.html> LVM是逻辑卷管理(Logic Volume Manage)的简称,它 ...
- cd 命令详解
cd 命令 作用: cd 用来切换目录,目录表示法可为绝对路径或相对路径, 若目录名称省略,则变换至使用者的登陆目录. ~ 可表示为家目录,.为当前目录,..为上级目录 语法: cd (选项)(参数 ...