Force Gradle to use HTTP instead of HTTPS

36,193

Solution 1

I had same problem and fixed it.

gradle is forced to get dependencies from jcenter through https proxy.

if you add

maven { url "http://jcenter.bintray.com" }

in your repositories instead of jcenter(), gradle sees this repository as a simple maven repository with http proxy.

your project build.gradle should be like below:

buildscript {
    repositories {
        maven { url "http://jcenter.bintray.com" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }
}

allprojects {
    repositories {
        maven { url "http://jcenter.bintray.com" }
    }
}

Solution 2

replace jcenter() with jcenter { url "http://jcenter.bintray.com/"} in build.gradle

Share:
36,193
Mindaugas
Author by

Mindaugas

Updated on July 09, 2022

Comments

  • Mindaugas
    Mindaugas almost 2 years

    I am trying to build react-native android app, as a dependecy I see I have gradle, but it fails to load on build. Error message:

    * What went wrong:
    A problem occurred configuring root project 'MobileApp'.
    > Could not resolve all dependencies for configuration ':classpath'.
       > Could not resolve com.android.tools.build:gradle:1.3.1.
         Required by:
             :MobileApp:unspecified
          > Could not resolve com.android.tools.build:gradle:1.3.1.
             > Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.1/gradle-1.3.1.pom'.
                > Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.1/gradle-1.3.1.pom'.
                   > Connection to https://jcenter.bintray.com refused
    

    The issue is clear, I am sitting behind corporate proxy that blocks any HTTPSconnections like these in error. So my questions are: how to force gradle to use HTTP in loading these files? Where these properties should be put(which of gradle files, i.e. gradle.properties)?

    P.S. I already have set these in gradle properties file:

    systemProp.http.proxyHost= myHost
    systemProp.http.proxyPort= myPort
    systemProp.http.proxyUser= myUser
    systemProp.http.proxyPassword= myPassword
    

    Any links, suggestions or etc. will help a lot.