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

问题

以前在使用ionic2时使用创建android平台命令或者编译时,老是会在获取gradle时卡住,等好久进度也不变化,致使命令超时失败。因而通过查阅资料和本身实践测试,总结出如下办法。android

方法

其实主要缘由是用命令下载时用的是指定的下载途径(可能不应这样形容,欢迎你们评论批评指正),国内经过这样下载十分慢,甚至时断时续,从而致使出现上面的问题。跨域

因此咱们本身去下载gradle,存放在本地,而后更改配置文件,使其不去网上下载而是从咱们指定的本地位置获取。
首先咱们打开下面这个js:app

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

其中有对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

咱们能够进入上面代码中的网址里找到对应版本的gradle进行下载:优化

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

帮你们拿出来了,直接打开就好。code

下载的gradle不须要解压。orm

存放到以下路径:

你的项目名称/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程序启动速度方法貌似还有很多,之后有时间专门研究一下写一篇全面点的。

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

相关文章
相关标签/搜索