我正在尝试构建react-native android app,作为一个依赖我看到我有gradle,但它无法加载构建。 错误讯息:
cin
问题很明显,我坐在公司代理的后面,阻止任何像这样的HTTPS连接出错。 所以我的问题是:如何强制gradle使用HTTP加载这些文件?应该放置这些属性(gradle文件中的哪个,即gradle.properties)?
P.S。我已经在gradle属性文件中设置了这些:
* 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
任何链接,建议等都会有很大帮助。
答案 0 :(得分:24)
我有同样的问题并修好了。
gradle强制通过https代理从jcenter获取依赖关系。
如果你添加
maven { url "http://jcenter.bintray.com" }
在您的存储库而不是jcenter()
中,gradle将此存储库视为具有http代理的简单maven存储库。
您的项目build.gradle
应如下所示:
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" }
}
}
答案 1 :(得分:8)
在build.gradle中用jcenter {url" http://jcenter.bintray.com/"}替换jcenter()
答案 2 :(得分:0)
试试这个
运行像freegate这样的代理
cmd类型的根路径项目
gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8580
档案 - >设置 - >项目设置 - > Gradle - >全局Gradle设置 - > Gradle VM Options
-Dhttp.proxyHost=myProxyAddr
-Dhttp.proxyPort=myProxyPort
-Dhttp.proxyUser=myUsername
-Dhttp.proxyPassword=myPasswd
-Dhttp.auth.ntlm.domain=myDomainName
答案 3 :(得分:0)
进入附近的gradle/wrapper
文件夹并编辑gradle-wrapper.properties
然后在分发网址中添加https,它应该可以正常工作。
distributionUrl=https\://services.gradle.org/distributions/gradle-1.10-bin.zip
^
验证您要抓取的文件实际上在存储库中
https://services.gradle.org/distributions/
重新运行命令以获取gradle包装器版本。
gradle wrapper
gradlew.bat wrapper -gradle-version="1.10"
希望有帮助。