Force Gradle использовать HTTP вместо HTTPS
Я пытаюсь создать интерактивное приложение для Android-приложений, так как я считаю, что у меня есть градиент, но он не загружается при сборке. Сообщение об ошибке:
* 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
Проблема ясна, я сижу за корпоративным прокси-сервером, который блокирует любые HTTPS-соединения, подобные этим, по ошибке. Поэтому мои вопросы: как заставить gradle использовать HTTP при загрузке этих файлов? Где эти свойства должны быть помещены (какие из файлов градиентов, т.е. gradle.properties)?
PS Я уже установил их в файле свойств gradle:
systemProp.http.proxyHost= myHost
systemProp.http.proxyPort= myPort
systemProp.http.proxyUser= myUser
systemProp.http.proxyPassword= myPassword
Любые ссылки, предложения и т.д. Многое помогут.
Ответы
Ответ 1
У меня была такая же проблема и она была исправлена.
gradle вынужден получать зависимости от jcenter через прокси https.
если вы добавите
maven { url "http://jcenter.bintray.com" }
в ваших репозиториях вместо jcenter()
, gradle видит этот репозиторий как простой репозиторий maven с http proxy.
ваш проект 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" }
}
}
Ответ 2
замените jcenter() на jcenter {url " http://jcenter.bintray.com/ "} в build.gradle
Ответ 3
Попробуй это
-
запускать прокси-сервер, например freegate
-
проект корневого пути в cmd-типе
gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8580
Файл → Настройки → Настройки проекта → Gradle → Глобальные настройки градиента → Параметры Gradle VM
-Dhttp.proxyHost=myProxyAddr
-Dhttp.proxyPort=myProxyPort
-Dhttp.proxyUser=myUsername
-Dhttp.proxyPassword=myPasswd
-Dhttp.auth.ntlm.domain=myDomainName