Reputation: 1183
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.
Upvotes: 21
Views: 43506
Reputation: 19112
Go into the gradle/wrapper
folder nearby and edit the gradle-wrapper.properties
Then add in a the https to the distribution URL and it should work.
distributionUrl=https\://services.gradle.org/distributions/gradle-1.10-bin.zip
^
Verify the file you are trying to grab is actually on the repo:
https://services.gradle.org/distributions/
Rerun your command to get the gradle wrapper version.
gradle wrapper
gradlew.bat wrapper -gradle-version="1.10"
Hope that helps.
Upvotes: -1
Reputation: 6395
replace jcenter() with jcenter { url "http://jcenter.bintray.com/"} in build.gradle
Upvotes: 11
Reputation: 17131
Try this
run a proxy like freegate
the root path project in cmd type
gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8580
File -> Settings -> Project Settings -> Gradle -> Global Gradle Settings -> Gradle VM Options
-Dhttp.proxyHost=myProxyAddr
-Dhttp.proxyPort=myProxyPort
-Dhttp.proxyUser=myUsername
-Dhttp.proxyPassword=myPasswd
-Dhttp.auth.ntlm.domain=myDomainName
Upvotes: 0
Reputation: 504
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" }
}
}
Upvotes: 28