Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"jcenter.bintray.com:443 failed to respond" error in Android Studio

I am trying to build a project in Android Studio, and Android's default build tool, Gradle, ALWAYS gives me an error when it attempts to build my project. The following is the result of using the "gradlew build" command:

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

I have tried using an http proxy, vpn, turning off my firewall, deleting the cache in the .gradle foler, and even completely reinstalling Android Studio, but nothing seems to be working.

I am new to Android development, so any information is appreciated!

Here is the error when the proxy is implemented:

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

I was able to add the HTTPS certificate to the keystore for jcenter.bintray.com, but now I am getting a JVM error whenever I start android studio: Android Studio JVM Error

I have checked my environment variables, tried changing them, and the error persists. My java environment variables are set as follows:

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

EDIT: After setting my Java home path in the gradle.properties file, I am now getting a different error when I attempt to build my project.

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

EDIT: I just wanted to let everyone know that I figured it out! Apparently my parents put some insanely powerful parental control software on my computer a few years ago and I forgot it was there. After uninstalling, Android Studio now works flawlessly. The software basically blocked all unknown traffic coming in and out of most of the ports. Anyway, thank you to everyone for the help. I can finally start developing!

like image 704
Jack Scott Avatar asked Sep 05 '16 02:09

Jack Scott


2 Answers

Try setting both http and https as shown below

gradlew -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8144

EDIT1 :

Gradle is trying to download jars from https repo "https://jcenter.bintray.com" but java does not have client certificates. Follow below steps to import client certificates

Step 1 : Download Client Certificate

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

Step 2 : Import the client certificate to JDK which Gradle is using

keytool -import -noprompt -trustcacerts -alias "clojars.org" -file C:\CERT_FILE_NAME.crt -keystore C:\java\jre\lib\security\cacerts -storepass "changeit"
like image 87
ravthiru Avatar answered Oct 01 '22 18:10

ravthiru


If you behind a proxy, you must set proxy for Gradle separately because Gradle doesn't use AndroidStudio's proxy settings:

open gradle.properties and add the following lines, change ip addr to your proxy's ip.

systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyPort=7070
systemProp.https.proxyHost=127.0.0.1
systemProp.http.proxyPort=7070
like image 26
Ted Avatar answered Oct 01 '22 20:10

Ted