我在我的项目gradle文件中得到这个警告:

警告:(16日5)'buildTypes'不能应用于'(groovy.lang。关闭< com.android.build.gradle.internal.dsl.BuildType >)

我的buildTypes部分是:

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

我目前使用Android Studio 1.1.0, compileSdkVersion 22, buildToolsVersion 22.0.0和targetSdkVersion 22。我试着退到21,但还是收到了警告。

是什么导致这个警告&如何修复?


当前回答

编辑: 这就是我最终解决这个问题的方式…

在Android Studio中导航到: |文件设置|构建,执行,部署|构建工具| Gradle 确保这是未检查的,尽管建议保持… 使用默认的Gradle包装器(推荐) 而这个是勾选的… 使用本地gradle分发 并且Gradle Home被设置成这样,可能是后来的Gradle -n。n… C:/Program Files/Android/Android Studio1/gradle/gradle-2.4

你可能需要重新启动Android Studio,重新构建项目等,但问题已经解决了。

编辑结束。

我发布这篇文章是为了建议其他刚接触这个问题的人忽略它。无论如何,项目都能完美运行。这只是构建系统中的一个bug,希望能尽快修复。我发表了一条评论并在这里投票,这又是一个活跃的话题…

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不能应用于groovy.lang.Closure 进入Android Studio的设置,选择“Use gradle wrapper”: 在Android Studio中选择:文件\设置\构建,执行,部署\构建工具\Gradle Mark:使用默认的gradle包装器(默认) 这删除了构建文件中的所有“不能应用于”(groovy.lang.Closure')警告。

2 “依赖项”不能应用于“(groovy.lang.Closure)” 打开并编辑文件:yourproject/gradle/wrapper/gradle-wrapper. property。编辑内容如下图,然后保存。 删除这个文件夹:yourproject/.gradle。 点击同步项目与gradle文件,然后你就可以开始了。

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

我的配置是: Android Studio 1.3, compileSdk Version 22, buildTools Version "22.0.1"

其他回答

修复Gradle问题的最简单方法是重新创建项目,让Android Studio重新配置Gradle。

只需选择“打开一个现有的Android Studio项目”并选择您的项目文件夹。

详情请点击这里。

如果以上方法都不起作用,请执行以下操作

在“项目资源管理器”中将项目更改为项目透视图。 删除.gradle和构建文件夹。 点击文件-> Invalidate Caches / Restart…->失效并重启 现在它工作了,快乐的编码。

我也有同样的问题。我开始了一个新项目,它可以工作,所以我只是复制了这个构建。gradle文件。在我的例子中,唯一的区别是缺少compileOptions部分。我把它从我的项目中移除,同步gradle,重新插入compileOptions部分,然后再次同步gradle。

我也有同样的问题。移动buildTypes作为android部分的最后一个条目对我来说很有效。

android {
    ...
    buildTypes {
    }
}

将buildToolsVersion从

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2" 
.. 
}

to

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1" 
.. 
}

为我工作。