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

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

  • 相关阅读:
    SpringCloud学习系列之四-----配置中心(Config)使用详解
    阿里云Docker镜像仓库(Docker Registry)
    阿里云Docker镜像加速
    Docker安装(yum方式 centos7)
    Docker Nginx安装(centos7)
    Dockerfile文件详解
    mysql 开发进阶篇系列 6 锁问题(事务与隔离级别介绍)
    mysql 开发进阶篇系列 5 SQL 优化(表优化)
    mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)
    sql server 性能调优之 资源等待PAGELATCH
  • 原文地址:https://www.cnblogs.com/macq/p/6494798.html
Copyright © 2020-2023  润新知