【问题标题】:Gradle in Android Studio: Failed to resolve third-party librariesAndroid Studio 中的 Gradle:无法解析第三方库
【发布时间】:2015-03-18 09:42:24
【问题描述】:

我一直在尝试将我的项目从 Intellij 切换到 Android Studio,这需要我创建一个 build.gradle 文件。我知道我可以将这些中的每一个都添加为库依赖项,但我理想情况下希望能够使 maven 存储库依赖项工作。

每次同步时,我的支持库都可以正常同步,但是对于每个第三方库,我都会得到类似

"错误:(30, 13) 无法解决: com.facebook.android:facebook-android-sdk:3.23.1"

对于每个库。

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0'
}
}
apply plugin: 'com.android.application'

dependencies {

compile fileTree(dir: 'libs', include: '*.jar')

// Google Play Services
compile 'com.google.android.gms:play-services:6.5.87'

// Support Libraries
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:cardview-v7:21.0.3'
compile 'com.android.support:gridlayout-v7:21.0.3'
compile 'com.android.support:mediarouter-v7:21.0.3'
compile 'com.android.support:palette-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'
compile 'com.android.support:support-annotations:21.0.3'
compile 'com.android.support:support-v13:21.0.3'
compile 'com.android.support:support-v4:22.0.0'

// third-party libraries
compile 'com.amazonaws:aws-java-sdk:1.9.24'
compile 'com.facebook.android:facebook-android-sdk:3.23.1'
compile 'com.github.markushi:android-ui:1.2'
compile 'de.hdodenhof:circleimageview:1.2.2'
compile 'it.neokree:MaterialNavigationDrawer:1.3.2'

}

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }

    // Move the tests to tests/java, tests/res, etc...
    instrumentTest.setRoot('tests')

    // Move the build types to build-types/<type>
    // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
    // This moves them out of them default location under src/<type>/... which would
    // conflict with src/ being used by the main source set.
    // Adding new build types or product flavors should be accompanied
    // by a similar customization.
    debug.setRoot('build-types/debug')
    release.setRoot('build-types/release')
}
}

【问题讨论】:

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


    【解决方案1】:

    添加:

    repositories {
       mavenCentral()
    }
    

    到build.gradle。现在你只在构建脚本中定义了repositories,它只为buildscript本身而不是项目解决依赖关系。

    【讨论】:

    • 我也遇到了同样的问题,但我必须在 Android Studio 的 gradle 设置中禁用“脱机工作”选项才能使其正常工作。只需在此处添加它,以便其他人遇到我的问题时可以从中受益。
    • 澄清一下:这段代码需要添加到最高级build.gradle文件的allprojects块中。
    【解决方案2】:

    只是为了分享信息,我遇到了同样的问题,解决方案不同。

    在我的情况下,使用了代理服务器并导致了问题。我需要configure https proxy settings,如gradle behind proxy in Android Studio 1.3 中所述。

    【讨论】:

    • 遇到了同样的问题。谢谢你:)
    【解决方案3】:

    如果你使用VPN |在您的系统上使用Proxy,然后使用您项目中gradle.properties 文件中的代理信息,如以下代码行:

    # HTTP Proxy
    systemProp.http.proxyHost={Host Address}
    systemProp.http.proxyPort={Port Number}
    systemProp.http.proxyUser={Proxy Username}
    systemProp.http.proxyPassword={Proxy Password}
    systemProp.http.nonProxyHosts={NonProxy Hosts Address} # like: 127.0.0.1,localhost
    
    # HTTPS Proxy
    systemProp.https.proxyHost={Host Address}
    systemProp.https.proxyPort={Port Number}
    systemProp.https.proxyUser={Proxy Username}
    systemProp.https.proxyPassword={Proxy Password}
    systemProp.https.nonProxyHosts={NonProxy Hosts Address} # like: 127.0.0.1,localhost
    

    现在只需将上述代码中的{.....} 替换为适当的数据


    您还可以通过File&gt;Settings 中的代理信息设置Android Studio 代理,如下图所示:

    现在再次测试...!

    【讨论】:

      【解决方案4】:
      repositories {
      jcenter {
          url "http://jcenter.bintray.com/"
      }
      

      // mavenCentral() }

      【讨论】:

        【解决方案5】:

        这有帮助

        allprojects {
            repositories {
                jcenter()
                maven { url "https://jitpack.io" }
            }
        }
        

        在项目的gradle中

        【讨论】:

          【解决方案6】:

          也许这有帮助

          allprojects {
              repositories {
                  jcenter()
              }
          }
          

          【讨论】:

            【解决方案7】:

            好吧,如果您的网络连接良好(无论是否使用代理 | VPN),只需在使用带有 gradle 2.3 的 android studio 时尝试 turn off'offline mode' and sync,这对我有用 :)

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-04-14
              • 1970-01-01
              • 2021-12-18
              • 1970-01-01
              • 2015-10-07
              • 1970-01-01
              • 2015-12-19
              • 2013-06-10
              相关资源
              最近更新 更多