ionic2打包android时gradle无法下载的解决方法


Posted in Javascript onApril 05, 2017

问题

之前在使用ionic2时使用建立android平台命令或者编译时,总是会在获取gradle时卡住,等很久进度也不变化,导致命令超时失败。于是经过查阅资料和自己实践测试,总结出以下办法。

方法

其实主要原因是用命令下载时用的是指定的下载途径(可能不该这样形容,欢迎大家评论批评指正),国内通过这样下载十分慢,甚至时断时续,从而导致出现上面的问题。

所以我们自己去下载gradle,存放在本地,然后更改配置文件,使其不去网上下载而是从我们指定的本地位置获取。
首先我们打开下面这个js:

你的项目名称/platforms/android/cordova/lib/builders/GradleBuilder.js

其中有对distributionUrl的默认定义:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-2.14.1-all.zip';

我的是2.14.1版本,大家的版本可能不一样,但是方法是一样的,接下来我们只要修改这句就行了。

我们可以进入上面代码中的网址里找到对应版本的gradle进行下载:

http://services.gradle.org/distributions/

帮大家拿出来了,直接打开就好。

下载的gradle不需要解压。

存放到如下路径:

你的项目名称/platforms/android/gradle

然后把上面我们找到的代码修改成:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.14.1-all.zip';

搞定。

当然存在其他路径也是没问题的,不过要想到跨域问题,所以我们需要在响应路径开启本地服务。

此时地址就改成本地并加上对应开启服务的端口号。

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http://127.0.0.1:8081/gradle-2.14.1-all.zip';

也搞定了。

彩蛋

ionic2打包android的app打开时很长时间白屏的简单解决方法:

在用ionic build android命令时,在后面加上--prod参数,即使用ionic build android --prod命令。

我的demo以前10几秒启动,加--prod编译后4秒启动。

优化ionic2程序启动速度方法貌似还有不少,以后有时间专门研究一下写一篇全面点的。

谢谢大家阅读到最后,有什么问题欢迎交流!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript form 验证函数 弹出对话框形式
Jun 23 Javascript
海量经典的jQuery插件集合
Jan 12 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
Oct 19 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
Oct 04 Javascript
ES6之模版字符串的具体使用
May 17 Javascript
Vue 项目分环境打包的方法示例
Aug 03 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
Vue.js自定义指令学习使用详解
Oct 19 Javascript
详解uniapp的全局变量实现方式
Jan 11 Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 #Javascript
Vue.js render方法使用详解
Apr 05 #Javascript
self.attachevent is not a function的解决方法
Apr 04 #Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
Apr 04 #Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 #Javascript
Vue.js实战之组件的进阶
Apr 04 #Javascript
关于axios返回空对象的问题解决
Apr 04 #Javascript
You might like
PHP中is_file()函数使用指南
2015/05/08 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
在chrome浏览器中,防止input[text]和textarea在聚焦时出现黄色边框的解决方法
2011/05/24 Javascript
获取body标签的两种方法
2011/10/13 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
Python入门篇之条件、循环
2014/10/17 Python
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
python验证码识别的实例详解
2016/09/09 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
Python解析微信dat文件的方法
2020/11/30 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
终止劳动合同协议书
2014/04/14 职场文书
投标授权委托书范文
2014/08/02 职场文书
少先队活动总结
2014/08/29 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL