以前在使用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程序启动速度方法貌似还有很多,之后有时间专门研究一下写一篇全面点的。
谢谢你们阅读到最后,有什么问题欢迎交流!