16

我有一个问题,Gradle 找不到我的依赖项(Android 支持库)。

我的 build.gradle 看起来像这样:

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

dependencies {
    compile files('libs/FlurryAgent.jar')
    compile group: 'com.google.android', name: 'support-v4', version: 'r7'
    compile files('libs/YouTubeAndroidPlayerApi.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17"

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

        instrumentTest.setRoot('tests')
    }
}

当我构建(在命令行上,没有 IDE)时,我收到以下消息:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'AndroidCalculator'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':compile'.
      > Could not find com.google.android:support-v4:r7.
        Required by:
            :AndroidCalculator:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

为什么我不允许像这样添加 Android 支持库?

4

3 回答 3

16

您已声明存储库依赖项,但尚未声明存储库。因此无法解决依赖关系。(buildscript块中的存储库/依赖项与主构建脚本中的存储库/依赖项严格分开。)

于 2013-05-21T19:11:04.110 回答
8

http://pastebin.com/FmcCZwA5

这个贴是用 AndroidAnnotations、Dagger、Jackson 和 Robolectric 精心制作的项目。

您只需要添加

repositories {
    mavenCentral()
}

代替

 compile group: 'com.google.android', name: 'support-v4', version: 'r7'

与(上面链接的代码的第 44 行)

 compile 'com.android.support:support-v4:18.0.+'

陷阱:只有在您全新安装时,最后一点才能在 Android Studio 0.2+ 上运行。由于 0.2 Studio 附带其内部 m2 存储库以提供支持和 google api 库,因此如果您从以前的版本升级,您的 SDK 没有它。

还要确保 local.properties 文件存在于根文件夹中并且 sdk.dir 指向 SDK

于 2013-08-20T20:33:01.170 回答
2

您需要dependencydependencies标签中添加其他内容。如果您的文件夹android-support-v4.jar中有库,请libs尝试添加下面列出的代码:

dependencies {
    compile files('libs/android-support-v4.jar')
}
于 2013-05-21T18:33:20.980 回答