关于ionic2打包android时gradle下载不了的解决方法(附:简单优化启动速度彩蛋)

问题

之前在使用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程序启动速度方法貌似还有不少,以后有时间专门研究一下写一篇全面点的。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

Linux 终端tty pty pts描述

在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终...

972
来自专栏xingoo, 一个梦想做发明家的程序员

程序猿的日常——SpringMVC系统架构与流程回顾

web开发经历了很漫长的时间,在国内也快有十几年的时间了。从最开始的进程级到现在的MVC经历了很多的改进和优化,本篇就主要复习了解下Spring MVC相关的...

1987
来自专栏Java技术栈

SpringCloud Eureka自我保护机制

自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行。...

36510
来自专栏龙渊阁测试精英

Jmeter(一)_环境部署

  Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试CS/BS的软件。它可以用来测试静态和动态资源的性能,可用于模拟大量负载来测试一...

962
来自专栏飞雪无情的博客

工具 | Android Studio 2.3镜像更新,极速下载体验#2

Android Studio 2.3发布了,更新了很多不错的功能,比如WebP的支持,AppLink助手等,,因为众所周知的原因,所以就第一时间更新了镜像,让大...

673
来自专栏技术/开源

开源API集成测试工具 Hitchhiker v0.3更新 - 自动同步

Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起...

1888
来自专栏DevOps时代的专栏

如何使用 Jenkins 的脚本化流水线(Pipeline)

在这篇简单的教程中,你将会学习到 Jenkins 的流水线即代码,以及如何开发流水线脚本的指导。 Jenkins 是一个开源持续集成服务器,它可以提供持续执行自...

8037
来自专栏数据和云

快速掌握:大型分布式系统中的缓存架构

CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中...

722
来自专栏FreeBuf

挖洞经验 | 利用密码重置功能实现账号劫持

最近,我参加了某平台邀请的漏洞测试项目,在其中发现了一个独特的账号劫持漏洞,整个漏洞发现过程非常意外也非常幸运,通过密码重置功能就能实现账号劫持,在此我就把它写...

902
来自专栏极客生活

python读取hive数据最佳实践

使用pyhive库来连接hive server2提供的对外接口,使用sql语句来对数据进行查询,并处理返回结果。

1112

扫码关注云+社区