Не удается разрешить зависимость в Android Studio с помощью jcenter
Почему моя программа зависает от разрешения зависимости для appDebug в andorid studio? Я не могу разрешить ни одну библиотеку.
Это мой корневой файл Gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
и это мое приложение Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.alimohammadi.myapplication"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
И я не могу разрешить джунит. И я не могу получить доступ к https://jcenter.bintray.com/ мой браузер (он дал мне время ожидания соединения, в то время как другой сайт вернул истинный ответ).
3 ответа
После одного дня потраченного времени я обнаружил, что это подарок для иранского разработчика:D
Наконец, я переключаюсь обратно на mavenCentral()., Переключаясь на mavenCentral () в моем корневом gradle. и проблема решена.
Мой корневой файл build.gradle превращается в следующий код:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
allprojects {
repositories {
mavenCentral()
}
}
Некоторая библиотека не существует в mevenCentral, поэтому мы должны добавить прокси в наш файл gradle.properties, как показано ниже, для доступа к jcenter:D
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=localhost
systemProp.http.auth.ntlm.domain=domain
Или для https
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=user
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=localhost
systemProp.https.auth.ntlm.domain=domain
После долгих часов расследования решение пришло ко мне неожиданно. - Попробуйте построить свой gradle с другой сетью или мобильной точкой доступа. Работает для меня.
Я столкнулся с точно такой же проблемой, когда попытался включить в свой build.gradle следующий путь к классу зависимостей 'com.google.gms:google-services:3.0.0', чтобы
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.google.gms:google-services:3.0.0'
}
}
Я получил тайм-аут на пути разрешения Gradle. Пока (когда только путь к классу gradle:2.3.0
присутствовал), я фактически работал с моим кешем, поэтому я не заметил, что мой прокси был установлен неправильно.
Поэтому я попытался выбрать прокси вручную: Settings->Apperance&Behaviour-> System Settings ->Http Proxy
с именем хоста и номером порта. Таким образом, связанный gradle.properties
было:
systemProp.http.proxyHost=proxy<blabla>.com
systemProp.http.proxyPort=123 (123 is just an example)
но у меня все еще была проблема. Caramba!! Итак, я заметил, что нужные мне файлы находятся здесь:
https://jcenter.bintray.com/com/android/tools/build/gradle/2.3.0/
но Android Studio не предоставляет пользовательский интерфейс для установки прокси на HTTPS, поэтому я вручную редактирую gradle.properties
продублировать строку для https
systemProp.http.proxyHost=proxy<blabla>.com
systemProp.http.proxyPort=123 (123 is just an example)
systemProp.https.proxyHost=proxy<blabla>.com
systemProp.https.proxyPort=123
И.... это работает для меня. Не нужно менять jcenter на mavenCentral.