'dependencies' cannot be applied to '(groovy.lang.Closure)'

前端 未结 15 2719
旧巷少年郎
旧巷少年郎 2020-11-30 01:28

I am unable to fix this error:

dependencies cannot be applied to \'(groovy.lang.Closure)

This is my gradle file:

buildscrip         


        
相关标签:
15条回答
  • 2020-11-30 02:10

    Gradle files can be made explicit in several places to avoid such errors. E.g. Change

    configurations {
    

    to

    project.configurations {
    

    or

    task {
        description 'foo'
    

    to

    task {
        setDescription 'foo'
    
    0 讨论(0)
  • 2020-11-30 02:10

    To fix the issue simply close the project, then select “Open an existing Android Studio project” on the start menu and select the folder that contains your Android project. Beware, select the folder, not the .iml project file.

    0 讨论(0)
  • 2020-11-30 02:11

    I went into the preferences to try one of the other answers when I noticed a warning that my gradle home directory was wrong. So I opened up the file browser and chose the newer gradle version, and all the errors went away. Image shown below.

    0 讨论(0)
  • 2020-11-30 02:15

    Based on what Android Studio generates, you need to have a top-level project file build.gradle, and another for your app build.gradle.

    Top-level:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        repositories {
            jcenter()
            maven { url 'http://download.crashlytics.com/maven' }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
            classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
            maven { url 'http://download.crashlytics.com/maven' }
        }
    }
    

    Application level:

    apply plugin: 'com.android.application'
    apply plugin: 'crashlytics'
    
    android{
        compileSdkVersion rootProject.compileSdkVersion
        buildToolsVersion rootProject.buildToolsVersion
        defaultConfig {
            minSdkVersion rootProject.minSdkVersion
            targetSdkVersion rootProject.targetSdkVersion
            versionCode rootProject.versionCode
            versionName rootProject.versionName
        } 
        buildTypes {
            release {
                debuggable rootProject.prodDebug
                proguardFile 'proguard.cfg'
            }
        }
    
        packagingOptions {
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
        }
        lintOptions {
            abortOnError false
        }
     }     `
    
    dependencies {
        compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
        compile fileTree(dir: 'libs', include: '*.jar')
        compile project(':FRNDzTER_core')
        compile project(':cropper')
        compile project(':stickyListHeaders')
        compile "com.nostra13.universalimageloader:universal-image-          l                        loader:${rootProject.universalImageLoaderVersion}"
        compile "com.google.android.gms:play-    services:${rootProject.googlePlayServicesVersion}"
        compile "   "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
        compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
        compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
        compile 'com.crashlytics.android:crashlytics:1.+'
    }
    

    But even without all that, your problem is that you have a dependencies within your android plugin config.

    android {
        dependencies {
        }
    }
    

    remove that empty dependencies block.

    EDIT: I also started getting this error with the latest Android Studio, all I had to do was add a newer version of the Gradle plugin, and compileSdkVersion 22.

    buildscript {
        repositories {
            jcenter()
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.3.0'
            classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
            mavenCentral()
        }
    }
    
    0 讨论(0)
  • 2020-11-30 02:15

    I ran into a similar problem to this in IntelliJ for a Kotlin project. It looks like the issue was that in my project, even though it was set to use JDK 8, the language and API versions somehow got set to 1.3. See Project Preferences > Facets. In my case, I ticked "use project settings," but manually setting them per facet may work as well.

    0 讨论(0)
  • 2020-11-30 02:15
    1. Close the project (File / Close project),
    2. Select “Open an existing Android Studio project” on the start menu and select the folder that contains your Android project.

    This work for me.

    0 讨论(0)
提交回复
热议问题