buildTypes不能应用于groovy.lang.Closure
我在我的项目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,但仍然收到警告。
是什么原因引起了这个警告?它是如何修复的
对于我来说,应用上述解决scheme并没有解决问题。 相反,我不得不去Android Studio中的设置,并select“使用gradle包装”:
在Android Studio中select: File \ Settings \ Build,Execution,Deployment \ Build tools \ Gradle
(Mac用户: Android Studio \ Preferences … \ Build,Execution,Deployment \ Build tools \ Gradle )
Mark: 使用默认的Gradle包装(默认)
这删除了所有'不能应用于'(groovy.lang.Closure')在构build文件中的警告。
我遇到过同样的问题。 将buildTypes作为android部分的最后一个条目移动给我工作。
android { ... buildTypes { } }
1在“android”部分的相同位置剪切并粘贴“buildTypes”
2重新同步项目
要解决这个问题,在你的Android Studio转到文件 – >设置 。 在设置中selectBuild,Execution,Deployment – > Build Tools – > Gradle并select“Use default gradle wrapper(recommended)”选项。
重build后你的build.gradle将会完全正常。
如果以上选项都不起作用,请执行以下操作
- 在“Project Explorer”中将项目更改为
Project
透视图。 - 删除
.gradle
和生成文件夹。 - 单击文件 – > 无效caching/重新启动… – > 无效和重新启动
- 现在它的工作,快乐的编码。
我设法解决我的问题,只要这样做:点击“文件”,然后select“无效的caching/重新启动
解决这个Gradle问题最简单的方法是重新创build项目,让Android Studio重新configurationGradle。
只需select“打开一个现有的Android Studio项目”,并select您的项目文件夹。
更多细节在这里 。
这对我工作:
buildTypes.debug { ext.enableCrashlytics = false } buildTypes.release { debuggable false zipAlignEnabled true minifyEnabled false signingConfig signingConfigs.release }
当您将项目导入到您的环境中时,会出现问题,并且Gradle插件安装在与原始位置不同的位置。 你只需要指出你的Gradle安装位置。
移动buildTypes或者defaultConfig或者其他什么都不是一个完整的解决scheme
手头的问题是,您可能在升级时导入的Android Studio设置仍然指向gradle-2.4或除Android Studio 1.5预期的其他版本。
要解决这个问题,你应该打开设置 ,然后进入构build,执行,部署>构build工具> Gradle,并更改本地Gradle分配的主path或select默认的Gradle包装。
应用并重新同步您的项目。
我有同样的问题。 我开始了一个新的项目,它工作,所以我刚刚复制build.gradle文件。 在我的情况唯一的区别是缺乏compileOptions部分。 我从我的项目中删除它,同步gradle,重新插入compileOptions部分,然后再次同步gradle。
在你的Android Studio转到文件 – >设置。 接下来selectBuild,Execution,Deployment – > Build Tools – > Gradle并select“使用默认的gradle wrapper(推荐)”。
重build项目。
在我的情况下,我的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
部分的顶部使用以下configuration:
android { compileSdkVersion 24 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.xyz.abc" minSdkVersion 14 targetSdkVersion 24 //..etc
我更新Android Studio后,曾经有这个警告。
当我去设置>>构build工具>> Gradle我发现本地Gradlepath是无效的,因为gradle版本更新以及从2.6到2.8。
修复了新的path和重新同步gradle删除警告。
另一种方法是使用gradlewrapper
。
在gradle-wrapper.properties中将distributionUrl = https://services.gradle.org/distributions/gradle-2.1-bin.zip改为gradle-2.1-all.zip解决了我的问题。
编辑:这是我终于解决了这个问题…
-
在Android Studio中导航到:
文件| 设置| 构build,执行,部署| 构build工具| 摇篮
-
确保这是不受限制的,尽pipebuild议保持…
使用默认的Gradle Wrapper(推荐)
-
而这一个检查…
使用本地gradle分发
-
而Gradle Home已经设置了这个function,可能还会有一个gradle-nn …
C:/ Program Files / Android / Android Studio1 / gradle / gradle-2.4
您可能需要重新启动Android Studio,重build项目等,但问题解决了。
编辑结束。
我发布这个build议任何新的这个问题的人忽略它。 该项目无论如何运行。 这只是构build系统中的一个错误,希望能尽快解决。 我发表了评论,并在这里投票,这又是一个活跃的话题…
在尝试了以下三个线程的build议之后,我没有成功,我从头开始重新制作整个项目。 我开始了一个新的Android Studio项目,将所有的原始库和主文件复制到它,忽略由生成系统生成的任何文件,并重build项目。 一切都很好,除了所有那些“不能应用于”(groovy.lang.Closure)警告再次出现的复仇。 然后,我再次通过这些build议,以确保我没有忽视的东西。
1 buildTypes不能应用到groovy.lang.Closure去Android Studio中的设置,并select“使用gradle wrapper”:在Android Studio中select:File \ Settings \ Build,Execution,Deployment \ Build tools \ Gradle Mark:使用默认Gradle包装器(默认)这在构build文件中删除了所有'不能应用于'(groovy.lang.Closure')警告。
2 '依赖关系'不能应用于'(groovy.lang.Closure)'打开并编辑文件:yourproject / gradle / wrapper / gradle-wrapper.propertie。 编辑内容如下图,然后保存。 删除这个文件夹:yourproject / .gradle。 点击同步项目与Gradle文件,然后你很好去。
3 https://github.com/DrKLO/Telegram/issues/870
我的configuration是:Android Studio 1.3,compileSdk版本22,buildTools版本“22.0.1”
删除应用程序文件夹下的gradle文件夹和resync项目
所有我必须做的删除
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' } } }
更改buildToolsVersion
android { compileSdkVersion 24 buildToolsVersion "24.0.2" .. }
至
android { compileSdkVersion 24 buildToolsVersion "24.0.1" .. }
为我工作。
- Android工作室在真实设备上运行应用程序后添加了不需要的许可
- 错误“文件google-services.json从模块根文件夹丢失。 没有它,Google服务插件就无法运行“
- “Gradle版本2.10是必需的。”错误
- HttpClient不会在Android Studio中导入
- 完成非零退出值
- Android Android支持库与Android支持库vs Google Repository vs Google Play服务之间有什么区别?
- AAR可以包含传递依赖吗?
- 如何使用Android gradle插件0.10.0或更高版本获得jacoco覆盖率报告?
- Android Wear项目Gradle Sync失败