我正在尝试在Android Studio中构建项目,并且Android的默认构建工具Gradle,ALWAYS在尝试构建项目时给我一个错误。以下是使用" gradlew build"命令:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'MyFirstApp'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve com.android.tools.build:gradle:2.1.3.
Required by:
:MyFirstApp:unspecified
> Could not resolve com.android.tools.build:gradle:2.1.3.
> Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/
gradle/2.1.3/gradle-2.1.3.pom'.
> Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle
/2.1.3/gradle-2.1.3.pom'.
> jcenter.bintray.com:443 failed to respond
我尝试过使用http代理,vpn,关闭我的防火墙,删除.gradle文件夹中的缓存,甚至完全重新安装Android Studio,但似乎没有任何工作。
我是Android开发的新手,所以感谢任何信息!
执行代理时出现以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'MyFirstApp'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve com.android.tools.build:gradle:2.1.3.
Required by:
:MyFirstApp:unspecified
> Could not resolve com.android.tools.build:gradle:2.1.3.
> Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/
gradle/2.1.3/gradle-2.1.3.pom'.
> Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle
/2.1.3/gradle-2.1.3.pom'.
> Remote host closed connection during handshake
我能够将HTTPS证书添加到jcenter.bintray.com的密钥库中,但是现在每当我启动android studio时我都会收到JVM错误: Android Studio JVM Error
我检查了我的环境变量,尝试更改它们,并且错误仍然存在。我的java环境变量设置如下:
User Variables:
PATH: %JAVA_HOME%\bin
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_101
System Variables:
CLASSPATH: C:\Program Files\Java\jre1.8.0_101
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_101\bin
编辑: 在gradle.properties文件中设置我的Java主路径后,当我尝试构建项目时,我现在收到了不同的错误。
Downloading https://services.gradle.org/distributions/gradle-2.14.1-all.zip
Exception in thread "main" java.net.SocketException: Software caused connection abort: recv failed
编辑: 我只想让大家知道我弄明白了!几年前,我的父母显然在我的电脑上放了一些非常强大的家长控制软件,我忘记了它在那里。卸载后,Android Studio现在可以正常运行。该软件基本上阻止了进出大多数端口的所有未知流量。无论如何,谢谢大家的帮助。我终于可以开始开发了!
答案 0 :(得分:3)
尝试设置http和https,如下所示
gradlew -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8144
EDIT1:
Gradle正在尝试从https repo“https://jcenter.bintray.com”下载jar,但java没有客户端证书。按照以下步骤导入客户端证书
第1步:下载客户端证书
a) Open https://jcenter.bintray.com URL in the browser (i.e firefox)
b) Click on the lock icon right to the URL bar
c) Server URL is shown , click to get right arrow and then on "more information"
d) Pop-up is opened to view the certificate of the Server.
e) click on the "View Certificate", In "details" table export to a file CERT_FILE_NAME.crt
步骤2:将客户端证书导入Gradle正在使用的JDK
keytool -import -noprompt -trustcacerts -alias "clojars.org" -file C:\CERT_FILE_NAME.crt -keystore C:\java\jre\lib\security\cacerts -storepass "changeit"
答案 1 :(得分:1)
我只是想让每个人都知道我弄清楚了!几年前,我的父母显然在我的电脑上放了一些非常强大的家长控制软件,我忘记了它在那里。卸载后,Android Studio现在可以正常运行。该软件基本上阻止了进出大多数端口的所有未知流量。无论如何,谢谢大家的帮助。我终于可以开始开发了!
答案 2 :(得分:0)
除了将https://jcenter.bintray.com/的证书添加到您的密钥存储区之外,您还可以检查是否存在https://jcenter.bintray.com/的父证书。如果是这样,您可能还需要在密钥库中添加该证书。
答案 3 :(得分:0)
我遇到了这个问题,因为我在中国。我为AndroidStudio设置了错误的代理。当我在位于gradle目录中的配置文件gradle.properties中删除代理时,它可以工作。 希望这可以帮助您!
评论或删除以上行!
答案 4 :(得分:0)
如果您在代理后面,则必须单独设置Gradle代理,因为Gradle不使用AndroidStudio的代理设置:
打开 gradle.properties 并添加以下行,将ip addr更改为代理的ip。
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyPort=7070
systemProp.https.proxyHost=127.0.0.1
systemProp.http.proxyPort=7070