android-studio - update - where is build.gradle file in android studio




buildTypes cannot be applied to groovy.lang.Closure (13)

1 Cut and Paste the "buildTypes" at the same position in "android" section

2 Re Sync Project

I'm getting this warning in my project gradle file:

Warning:(16, 5) 'buildTypes' cannot be applied to '(groovy.lang.Closure< com.android.build.gradle.internal.dsl.BuildType>)'

My buildTypes section is:

    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

I'm currently using Android Studio 1.1.0, compileSdkVersion 22, buildToolsVersion 22.0.0, and targetSdkVersion 22. I tried backing down to 21 but was still getting the warning.

What causes this warning & how is it fixed?


All I had to do to remove

productFlavors {
}

From

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

and the warning went away.

Final look was like this

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

Changing the buildToolsVersion from

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2" 
.. 
}

to

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1" 
.. 
}

worked for me.


EDIT: This how i finally solved this problem...

  1. Navigate in Android Studio to:

    File | Settings | Build, Execution, Deployment | Build Tools | Gradle

  2. Ensure that this is unchecked, despite that it is recommended to keep ...

    Use Default Gradle Wrapper (recommended)

  3. and that this one is checked ...

    Use local gradle distribution

  4. and that Gradle Home is set to this, with possibly a later gradle-n.n ...

    C:/Program Files/Android/Android Studio1/gradle/gradle-2.4

You may have to restart Android Studio, rebuild the project, etc but the problem is solved.

End of EDIT.

I am posting this to advise anyone else new to this problem to ignore it. The project runs perfectly regardless. This is quite simply a bug in the build system, hopefully to be fixed soon. I posted a comment and voted here where it is again an active topic ...

https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=76719

After trying, unsuccessfully, the suggestions in the following three threads, i re-made the entire project from scratch. I started a new Android Studio project, copied all of the original libs and main files into it ignoring any files which are generated by the build system and rebuilt the project. Everything was fine except all those "cannot be applied to '(groovy.lang.Closure)'" warnings re-appeared with a vengence. Then i went thru these suggestions again just to be certain that i had not overlooked something.

1 buildTypes cannot be applied to groovy.lang.Closure go to the settings within Android Studio and select "Use gradle wrapper": In Android Studio select: File\Settings\Build, Execution, Deployment\Build tools\Gradle Mark: Use default gradle wrapper (default) This removed all 'cannot be applied to '(groovy.lang.Closure') warnings in the build files.

2 'dependencies' cannot be applied to '(groovy.lang.Closure)' Open and edit file: yourproject/gradle/wrapper/gradle-wrapper.propertie. Edit content as below image then save. Delete this folder: yourproject/.gradle. Click Sync project with gradle files, then you are good to go.

3 https://github.com/DrKLO/Telegram/issues/870

My configuration is: Android Studio 1.3, compileSdk Version 22, buildTools Version "22.0.1"


I had the same issue. Moving the buildTypes as the last entry in the android section worked for me.

android {
    ...
    buildTypes {
    }
}

I had the same problem. I started a new project and it worked, so I just copied the build.gradle file. In my case the only difference was the lack of the compileOptions section. I removed it from my project, synced gradle, re-inserted the compileOptions section and then synced gradle again.


I used to have this warning, after I updated Android Studio.

When I went to Settings>>Build Tools>>Gradle I found Local Gradle path was invalid, since gradle version was updated as well from 2.6 to 2.8.

Fixed the new path and re-sync gradle removed the warning.

Another way is to use gradlewrapper .


If none of the above options work, then do the Following

  1. Change the project to Project perspective in the "Project Explorer".
  2. Delete .gradle and build folders.
  3. Click File -> Invalidate Caches / Restart... -> Invalidate and Restart
  4. Now its working, happy coding.

In your Android Studio go to File -> Settings. Next choose Build, Execution, Deployment -> Build Tools -> Gradle and select "Use default gradle wrapper (recommended)".

Rebuild project.


The easiest way to fix this Gradle issues is recreating the project to let Android Studio reconfigure Gradle.

Simply select "Open an existing Android Studio project" and pick your project folder.

More details here .


The problem presents when you import a project into your environment and the Gradle plugin is installed in a different location than what it was in the original. You just need to point out where your Gradle installation is.

Moving buildTypes or defaultConfig or whatever between each other is not a complete solution


To solve this issue, in your Android Studio go to File -> Settings . In settings choose Build, Execution, Deployment -> Build Tools -> Gradle and select "Use default gradle wrapper (recommended)" option.

After rebuild your build.gradle will be totally fine.


this worked for me:

buildTypes.debug {
    ext.enableCrashlytics = false
}

buildTypes.release {
    debuggable false
    zipAlignEnabled true
    minifyEnabled false
    signingConfig signingConfigs.release
}






android-gradle