Android Studio中的Gradle:无法解析第三方库

时间:2015-03-18 09:42:25

标签: android android-studio gradle android-gradle

我一直在尝试将我的项目从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')
}
}

7 个答案:

答案 0 :(得分:20)

添加:

repositories {
   mavenCentral()
}

build.gradle。现在,您只在构建脚本中定义了repositories,该脚本仅针对buildscript本身而不是项目解析依赖关系。

答案 1 :(得分:9)

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

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

答案 2 :(得分:7)

如果您使用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>Settings中的代理信息设置Android工作室代理,如下图所示:

enter image description here

现在再试一次......!

答案 3 :(得分:0)

也许这个帮助

.jade

答案 4 :(得分:0)

repositories {
jcenter {
    url "http://jcenter.bintray.com/"
}

// mavenCentral() }

答案 5 :(得分:0)

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

答案 6 :(得分:0)

这有帮助

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

在项目的gradle中