无法使用 jcenter 解决 Android Studio 中的依赖关系
Can't resolve dependency in Android Studio with jcenter
为什么我的程序在解决andorid studio中appDebug的依赖时挂起?我无法解析任何库。
这是我的根 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'
}
而且我无法解析 junit。而且我无法使用我的浏览器访问 https://jcenter.bintray.com/(它让我连接超时,而其他站点 return 真实响应)。
在浪费了一天时间后,我发现它是送给伊朗开发者的礼物 :D
最后我切换回 mavenCentral()。通过在我的根 gradle 中更改为 mavenCentral()。问题解决了。
我的根 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
当我试图在我的 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
的类路径存在时),我实际上是在使用我的缓存,所以我没有注意到我的代理设置不正确。
所以我尝试 select 手动代理:Settings->Apperance&Behaviour-> System Settings ->Http Proxy
使用主机名和端口号。
所以关联的 gradle.properties
是:
systemProp.http.proxyHost=proxy<blabla>.com
systemProp.http.proxyPort=123 (123 is just an example)
但我仍然遇到问题。卡兰巴!!所以我注意到我需要的文件位于此处:
https://jcenter.bintray.com/com/android/tools/build/gradle/2.3.0/
但是 Android studio 不提供 UI 在 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。
经过长时间的调查,我出乎意料地找到了解决方案。 - 尝试使用不同的网络或移动热点构建您的 gradle。适合我。
为什么我的程序在解决andorid studio中appDebug的依赖时挂起?我无法解析任何库。
这是我的根 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'
}
而且我无法解析 junit。而且我无法使用我的浏览器访问 https://jcenter.bintray.com/(它让我连接超时,而其他站点 return 真实响应)。
在浪费了一天时间后,我发现它是送给伊朗开发者的礼物 :D
最后我切换回 mavenCentral()。通过在我的根 gradle 中更改为 mavenCentral()。问题解决了。
我的根 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
当我试图在我的 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
的类路径存在时),我实际上是在使用我的缓存,所以我没有注意到我的代理设置不正确。
所以我尝试 select 手动代理:Settings->Apperance&Behaviour-> System Settings ->Http Proxy
使用主机名和端口号。
所以关联的 gradle.properties
是:
systemProp.http.proxyHost=proxy<blabla>.com
systemProp.http.proxyPort=123 (123 is just an example)
但我仍然遇到问题。卡兰巴!!所以我注意到我需要的文件位于此处:
https://jcenter.bintray.com/com/android/tools/build/gradle/2.3.0/
但是 Android studio 不提供 UI 在 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。
经过长时间的调查,我出乎意料地找到了解决方案。 - 尝试使用不同的网络或移动热点构建您的 gradle。适合我。