我在项目gradle文件中收到此警告:
警告:(16,5)' buildTypes'不能应用于'(groovy.lang.Closure< 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但仍然收到警告。
导致此警告的原因是什么?它是如何修复的?
答案 0 :(得分:470)
对我来说,通过应用上述解决方案并未解决问题。相反,我必须转到Android Studio中的设置并选择"使用gradle wrapper":
在Android Studio中选择: 文件\设置\构建,执行,部署\构建工具\ Gradle
(Mac用户: Android Studio \偏好设置...... \构建,执行,部署\构建工具\ Gradle )
标记:使用默认gradle包装器(默认)
这删除了所有'无法应用于构建文件中的'(groovy.lang.Closure')警告。
答案 1 :(得分:126)
我有同样的问题。移动buildTypes作为android部分中的最后一个条目为我工作。
android {
...
buildTypes {
}
}
答案 2 :(得分:75)
1剪切并粘贴" buildTypes"在" android"中的相同位置部分
2重新同步项目
答案 3 :(得分:16)
要解决此问题,请在Android Studio中转到文件 - >设置。 在设置中选择构建,执行,部署 - >构建工具 - >摇篮强> 并选择"使用默认gradle包装器(推荐)" 选项。
重建后, build.gradle 将完全没问题。
答案 4 :(得分:7)
我设法通过简单地解决我的问题: 单击“文件”,然后选择“使高速缓存无效/重新启动
”答案 5 :(得分:6)
解决此Gradle问题的最简单方法是重新创建项目,让Android Studio重新配置Gradle。
只需选择"打开现有的Android Studio项目"并选择你的项目文件夹。
更多详情here。
答案 6 :(得分:4)
这对我有用:
buildTypes.debug {
ext.enableCrashlytics = false
}
buildTypes.release {
debuggable false
zipAlignEnabled true
minifyEnabled false
signingConfig signingConfigs.release
}
答案 7 :(得分:4)
当您将项目导入环境并且Gradle插件安装在与原始插件不同的位置时,会出现此问题。您只需要指出Gradle安装的位置。
移动buildTypes或defaultConfig或彼此之间的任何内容都不是一个完整的解决方案
答案 8 :(得分:3)
目前的问题是您在升级时可能导入的Android Studio设置仍然指向gradle-2.4或Android Studio 1.5期望的其他版本。
要解决此问题,您应该打开设置并转到构建,执行,部署>构建工具> Gradle 并更改本地gradle分配的主路径或选择默认的gradle包装。
应用并重新同步您的项目。
答案 9 :(得分:2)
我遇到了同样的问题。我开始了一个新项目并且它有效,所以我只是复制了build.gradle文件。在我的情况下,唯一的区别是缺少compileOptions部分。我从项目中删除了它,同步gradle,重新插入了compileOptions部分,然后再次同步gradle。
答案 10 :(得分:2)
就我而言,我的buildTypes
部分位于productFlavors
部分之上。交换他们的位置摆脱了警告:
在:
buildTypes {
debug {
minifyEnabled false
shrinkResources false
...//etc
}
}
productFlavors {
demo {
...//etc
}
}
在:
productFlavors {
demo {
...//etc
}
}
buildTypes {
debug {
minifyEnabled false
shrinkResources false
...//etc
}
}
我正在使用Android Studio 2.1.2,并在android
部分的顶部添加以下配置:
android {
compileSdkVersion 24
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.xyz.abc"
minSdkVersion 14
targetSdkVersion 24
//..etc
答案 11 :(得分:2)
在Android Studio中,转到文件 - >设置。接下来选择构建,执行,部署 - >构建工具 - > Gradle并选择“Use default gradle wrapper(recommended)”。
重建项目。
答案 12 :(得分:1)
在我更新Android Studio之后,我曾经有过此警告。
当我去设置>>构建工具>> Gradle 时,我发现本地Gradle路径无效,因为gradle版本也从2.6更新到2.8。
修复了新路径并重新同步gradle删除了警告。
另一种方法是使用 gradlewrapper
。
答案 13 :(得分:0)
从
更改buildToolsVersion
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
..
}
到
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
..
}
为我工作。
答案 14 :(得分:0)
我只需要删除
productFlavors {
}
这
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'
}
}
}
答案 15 :(得分:0)
删除app文件夹下的gradle文件夹并重新同步项目
答案 16 :(得分:0)
编辑: 这就是我最终解决了这个问题......
在Android Studio中导航至:
文件|设置|构建,执行,部署|构建工具|摇篮
确保未经检查,尽管建议保留...
使用默认Gradle Wrapper(推荐)
并检查了这个......
使用本地gradle分发
并且Gradle Home设置为此,可能还有一个gradle-n.n ......
C:/ Program Files / Android / Android Studio1 / gradle / gradle-2.4
您可能必须重新启动Android Studio,重建项目等,但问题已解决。
编辑结束。
我发布此帖子是为了建议其他新问题的人忽略它。该项目无论如何运行完美。这只是构建系统中的一个错误,希望很快得到解决。我发表评论并在这里投票,这又是一个活跃的话题......
尝试后,在以下三个线程中的建议失败,我从头开始重新制作整个项目。我启动了一个新的Android Studio项目,将所有原始库和主文件复制到其中,忽略了构建系统生成的任何文件并重建了项目。一切都很好,除了所有那些“无法应用于'(groovy.lang.Closure)'”的警告重新出现了。然后我再次通过这些建议,以确定我没有忽略某些东西。
1 buildTypes cannot be applied to groovy.lang.Closure 转到Android Studio中的设置,然后选择“使用gradle wrapper”: 在Android Studio中选择:File \ Settings \ Build,Execution,Deployment \ Build tools \ Gradle 标记:使用默认gradle包装器(默认) 这删除了所有'无法应用于构建文件中的'(groovy.lang.Closure')警告。
2 'dependencies' cannot be applied to '(groovy.lang.Closure)' 打开并编辑文件:yourproject / gradle / wrapper / gradle-wrapper.propertie。编辑内容如下图所示保存。 删除此文件夹:yourproject / .gradle。 单击“使用gradle文件同步项目”,然后就可以了。
3 https://github.com/DrKLO/Telegram/issues/870
我的配置是: Android Studio 1.3,compileSdk版本22,buildTools版本“22.0.1”
答案 17 :(得分:0)
在gradle-wrapper.properties中将distributionUrl = https://services.gradle.org/distributions/gradle-2.1-bin.zip更改为gradle-2.1-all.zip解决了我的问题。