最近換了新電腦,重新安裝開發環境,使用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端口就成功啦!!!