我在我的项目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,但还是收到了警告。

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


当前回答

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

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

其他回答

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

删除app文件夹下的gradle文件夹,重新同步项目

当您将项目导入到您的环境中,而Gradle插件安装在与原始位置不同的位置时,问题就出现了。你只需要指出你的Gradle安装在哪里。

在彼此之间移动buildTypes或defaultConfig或任何东西并不是一个完整的解决方案

对我来说,应用上述解决方案并不能解决问题。相反,我不得不在Android Studio中设置并选择“使用gradle wrapper”:

在Android Studio中选择: 文件\设置\构建,执行,部署\构建工具\Gradle

(Mac用户:Android Studio\Preferences…\构建,执行,部署\构建工具\Gradle)

Mark:使用默认的gradle包装器(默认)

这删除了构建文件中的所有“不能应用于”(groovy.lang.Closure')警告。

这招对我很管用:

buildTypes.debug {
    ext.enableCrashlytics = false
}

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