在build.gradle中添加依赖项时出现Gradle错误

时间:2015-05-03 06:54:00

标签: android maven android-studio gradle

我尝试使用build.gradle文件中的以下代码在我的项目中包含卡片库。

buildscript {
repositories {
    jcenter()
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
dependencies {
    //Core card library
    compile 'com.github.gabrielemariotti.cards:cardslib-core:2.0.1'

    //Optional for built-in cards
    compile 'com.github.gabrielemariotti.cards:cardslib-cards:2.0.1'

    //Optional for RecyclerView
    compile 'com.github.gabrielemariotti.cards:cardslib-recyclerview:2.0.1'

    //Optional for staggered grid view support
    compile 'com.github.gabrielemariotti.cards:cardslib-extra-staggeredgrid:2.0.1'

    //Optional for drag and drop support
    compile 'com.github.gabrielemariotti.cards:cardslib-extra-dragdrop:2.0.1'

    //Optional for twowayview support (coming soon)
    //compile 'com.github.gabrielemariotti.cards:cardslib-extra-twoway:2.0.1'

  }
 }

allprojects {
repositories {
    jcenter()
    mavenCentral()
}
}

但是在编译时,android studio会出现如下错误。

错误:(23,0)未找到Gradle DSL方法:'compile()' 可能的原因:

  • 项目'cardslib_1'可能正在使用不包含该方法的Gradle版本。 打开Gradle包装器文件
  • 构建文件可能缺少Gradle插件。 申请Gradle插件
  • 我猜测是gradle版本的原因,这在我所包含的库中较低。 如何知道我的依赖项正在使用的gradle版本以及如何将它们调整到我的项目中。 当我想添加库时,maven在aar文件中有存储库,我认为这不会让你知道gradle版本。 感谢您在这方面的任何帮助。

    1 个答案:

    答案 0 :(得分:3)

    您将依赖项添加到错误的位置。它们应该在buildscript部分和modules / applications build.gradle之外。

    父build.gradle。这应该在项目的根目录中

    virtual

    模块build.gradle。这应该位于您尝试添加依赖项的模块的文件夹中。

    buildscript {
        repositories {
            jcenter()
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
        }
    }
    
    allprojects {
        repositories {
            jcenter()
            mavenCentral()
        }
    }
    

    这假设您的项目结构类似于

    apply plugin: 'com.android.application'
    
    android {
        // Android related settings go here
    }
    
    dependencies {
    
        compile 'com.github.gabrielemariotti.cards:cardslib-core:2.0.1'
        compile 'com.github.gabrielemariotti.cards:cardslib-cards:2.0.1'
        compile 'com.github.gabrielemariotti.cards:cardslib-recyclerview:2.0.1'
        compile 'com.github.gabrielemariotti.cards:cardslib-extra-staggeredgrid:2.0.1'
        compile 'com.github.gabrielemariotti.cards:cardslib-extra-dragdrop:2.0.1'
    }