最近换了新电脑,重新安装开发环境,使用cordova build --release android命令打包时,需要下载gradle,等了半天cmd窗口中下载进度只打了两行点点,等得真是着急。
<b>解决办法:</b>
自己去下载gradle存放在本地http服务器,然后更改配置文件,使其不去services.gradle.org下载。
我们找到指定路径的文件,如下:
<pre>
您的cordova工程目录/platforms/android/cordova/lib/builders/GradleBuilder.js
</pre>
其中对distributionUrl的值修改:
<pre>
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\://services.gradle.org/distributions/gradle-2.14.1-all.zip';
</pre>
我们只要修改成这句就行了。
<pre>
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http://localhost:8088/gradle-2.14.1-all.zip';
</pre>
<b>坑一:</b>
我试过把gradle-2.14.1-all.zip放到 <b>cordova工程目录/platforms/android/gradle/目录下</b>,把distributionUrl修改成:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.14.1-all.zip';
修改后,我执行命令还是会报错,网上有些大神说可以。
<b>坑二:</b>
本地http服务器我开始用的是默认80端口,地址是https://localhost/gradle-2.14.1-all.zip,报错如下:
最终在Stack Overflow 看到如下一段 给了我提示
看原贴
<b>You use the port 80
which is part of the well-known ports or system ports (0 to 1023), so you need to launch your server with the admin rights or change it for 8080
for example.</b>
<b>坑三:</b>
本地http服务器我用的是8088端口,协议用的是https,地址是https://localhost:8088/gradle-2.14.1-all.zip,报错如下:
大家有没有看到关键字<b>javax.net.ssl.SSLException: Unrecognized SSL message</b>识别不了SSL,那应该就是不能识别https,所以果断改成http协议。
我用http协议8088端口就成功啦!!!