我正在尝试使用Gradle命令行界面构建我的Android应用程序。我还要将 GRADLE_HOME / bin 添加到环境中。首先,我使用gradle init在我的项目文件夹中生成包装器gradlew。现在,当我使用此包装器构建我的应用程序( ./ gradlew build )或使用其任何功能时,它会尝试下载gradle-2.3.zip文件并在其中失败(下面的错误消息) )。我不明白的是为什么gradle再次尝试下载gradle。此外,当我在浏览器中打开下载URL时,它表示页面不安全,这可能是导致错误的原因。我究竟做错了什么?有解决方法吗?我已经设法使用我的浏览器下载了zip文件,但我不知道如何处理它。这是我得到的例外。
正在下载https://services.gradle.org/distributions/gradle-2.3-bin.zip
线程中的异常" main" javax.net.ssl.SSLHandshakeException:
java.security.cert.CertificateException:没有主题备用DNS 找到名称匹配services.gradle.org。在 sun.security.ssl.Alerts.getSSLException(Alerts.java:192)at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)at at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1439) 在 sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:209) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:878)at at sun.security.ssl.Handshaker.process_record(Handshaker.java:814)at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)at at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323) 在 sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563) 在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
答案 0 :(得分:10)
只需更新gradle / wrapper / gradle-wrapper.properties
即可更新:
-from:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-all.zip
-to:
distributionUrl=http://services.gradle.org/distributions/gradle-2.3-all.zip
答案 1 :(得分:5)
现在services.gradle.org上的SSL证书配置存在问题
http://discuss.gradle.org/t/urgent-ssl-apache-configuration-for-services-gradle-org-is-bad/8808
开发人员知道并正在努力修复。
对同一问题的回答提供了一个可能适用的解决方法: