我在我的项目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-wrapper中将distributionUrl=https://services.gradle.org/distributions/gradle-2.1-bin.zip更改为gradle-2.1-all.zip。物业为我解决了问题。

其他回答

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

在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"

在你的Android Studio去文件->设置。接下来选择“构建,执行,部署->构建工具-> Gradle”,并选择“使用默认的Gradle包装器(推荐)”。

重建项目。

在我更新Android Studio之后,我曾经有过这个警告。

当我进入设置>>构建工具>>Gradle时,我发现本地Gradle路径无效,因为Gradle版本也从2.6更新到2.8。

修正了新的路径和重新同步gradle删除警告。

另一种方法是使用gradlewrapper。

我要做的就是移除

productFlavors {
}

From

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

警告消失了。

最后的样子是这样的

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

1在“android”部分的相同位置剪切粘贴“buildTypes”

2 Re Sync项目