zoukankan      html  css  js  c++  java
  • 关于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程序启动速度方法貌似还有不少,以后有时间专门研究一下写一篇全面点的。

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

  • 相关阅读:
    Integer Inquiry
    dfs求最短路径
    5.E
    5.H
    5.C
    5.A
    5.J
    POJ
    POJ
    POJ
  • 原文地址:https://www.cnblogs.com/macq/p/6494798.html
Copyright © 2011-2022 走看看