【问题标题】:Can't resolve dependency in Android Studio with jcenter无法使用 jcenter 解决 Android Studio 中的依赖关系
【发布时间】:2016-02-06 16:40:21
【问题描述】:

为什么我的程序在解决 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()
}
}

这是我的应用程序:

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/(它让我连接超时,而其他站点返回真实响应)。

【问题讨论】:

    标签: android android-studio android-gradle-plugin build-tools


    【解决方案1】:

    浪费了一天时间后,我发现这是送给伊朗开发者的礼物 :D

    最后我切换回 mavenCentral().by 在我的根 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
    

    【讨论】:

    • 真的很好!!!!我正在为如何添加代理而苦苦挣扎。我们很快就会因这些问题而心脏病发作......谢谢
    【解决方案2】:

    经过长时间的调查,解决方案出乎意料地出现在我面前。 - 尝试使用不同的网络或移动热点构建您的 gradle。对我有用。

    【讨论】:

      【解决方案3】:

      当我尝试在 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)
      

      但我仍然有问题。卡兰巴!!所以我注意到我需要的文件都在这里:

      https://jcenter.bintray.com/com/android/tools/build/gradle/2.3.0/

      但 Android Studio 不提供在 HTTPS 上设置代理的 UI,因此我手动编辑 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。

      【讨论】:

        猜你喜欢
        • 2015-05-09
        • 2018-04-22
        • 2016-03-06
        • 1970-01-01
        • 2020-02-16
        • 2016-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多