最近换了新电脑,重新安装开发环境,使用cordova build --release android命令打包时,需要下载gradle,等了半天cmd窗口中下载进度只打了两行点点,等得真是着急。

解决办法:

自己去下载gradle存放在本地http服务器,然后更改配置文件,使其不去services.gradle.org下载。

我们找到指定路径的文件,如下:

 
 

您的cordova工程目录/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';

我们只要修改成这句就行了。

 
 

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http://localhost:8088/gradle-2.14.1-all.zip';

坑一:

我试过把gradle-2.14.1-all.zip放到 cordova工程目录/platforms/android/gradle/目录下,把distributionUrl修改成:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.14.1-all.zip';

修改后,我执行命令还是会报错,网上有些大神说可以。

坑二:

本地http服务器我开始用的是默认80端口,地址是https://localhost/gradle-2.14.1-all.zip,报错如下:

1a97d016efd9

QQ截图20170606120759.png

最终在Stack Overflow 看到如下一段 给了我提示

看原贴

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.

坑三:

本地http服务器我用的是8088端口,协议用的是https,地址是https://localhost:8088/gradle-2.14.1-all.zip,报错如下:

1a97d016efd9

QQ截图20170606121016.png

大家有没有看到关键字javax.net.ssl.SSLException: Unrecognized SSL message识别不了SSL,那应该就是不能识别https,所以果断改成http协议。

我用http协议8088端口就成功啦!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐