buildTypes 不能应用于 groovy.lang.Closure
buildTypes cannot be applied to groovy.lang.Closure
我在我的项目 gradle 文件中收到此警告:
Warning:(16, 5) 'buildTypes' cannot be applied to '(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,但仍然收到警告。
导致此警告的原因是什么?如何解决?
我遇到了同样的问题。我开始了一个新项目并且它成功了,所以我只复制了 build.gradle 文件。在我的例子中,唯一的区别是缺少 compileOptions 部分。我将它从我的项目中删除,同步 gradle,重新插入 compileOptions 部分,然后再次同步 gradle。
我遇到了同样的问题。将 buildTypes 作为 android 部分中的最后一个条目移动对我有用。
android {
...
buildTypes {
}
}
正在将 distributionUrl=https://services.gradle.org/distributions/gradle-2.1-bin.zip 更改为 gradle-2.1-all.zip ]-wrapper.properties 为我解决了问题。
1 在 "android" 部分的相同位置剪切并粘贴 "buildTypes"
2 重新同步项目
这对我有用:
buildTypes.debug {
ext.enableCrashlytics = false
}
buildTypes.release {
debuggable false
zipAlignEnabled true
minifyEnabled false
signingConfig signingConfigs.release
}
对我来说,应用上述解决方案并没有解决问题。相反,我必须转到 Android Studio 和 select "Use gradle wrapper":
中的设置
在 Android 工作室 select 中:
File\Settings\Build, 执行, Deployment\Build tools\Gradle
(Mac 用户: Android Studio\Preferences...\构建, 执行, Deployment\Build tools\Gradle )
标记:使用默认gradle包装器(默认)
这删除了构建文件中的所有 'cannot be applied to '(groovy.lang.Closure') 警告。
解决此 Gradle 问题的最简单方法是重新创建项目,让 Android Studio 重新配置 Gradle。
只需 select "Open an existing Android Studio project" 并选择您的项目文件夹。
更多详情here。
要解决此问题,请在您的 Android Studio 中转到 文件 -> 设置 。
在设置中选择 构建、执行、部署 -> 构建工具 -> Gradle
和 select "Use default gradle wrapper (recommended)" 选项。
重建后你的build.gradle就完全没问题了。
当您将项目导入您的环境并且 Gradle 插件安装在与原始位置不同的位置时,就会出现问题。您只需要指出您的 Gradle 安装位置。
在彼此之间移动 buildTypes 或 defaultConfig 或其他任何东西并不是一个完整的解决方案
编辑:
这就是我最终解决这个问题的方式...
在 Android Studio 中导航至:
文件 |设置 |构建、执行、部署 |构建工具 | Gradle
确保未选中此项,尽管建议保留...
使用默认 Gradle 包装器(推荐)
而且这个已经被选中了...
使用本地 gradle 分发
并且 Gradle 主页设置为此,以后可能 gradle-n.n ...
C:/程序Files/Android/AndroidStudio1/gradle/gradle-2.4
您可能需要重新启动 Android Studio,重建项目等,但问题已解决。
编辑结束。
我发布这个是为了建议其他刚接触这个问题的人忽略它。无论如何,该项目都可以完美运行。这只是构建系统中的一个错误,希望尽快修复。我发表了评论并在这里投票,它再次成为一个活跃的话题......
在尝试了以下三个线程中的建议后,未成功,我从头开始重新制作了整个项目。我启动了一个新的 Android Studio 项目,将所有原始库和主要文件复制到其中,忽略了构建系统生成的任何文件并重建了项目。一切都很好,除了所有那些 "cannot be applied to '(groovy.lang.Closure)'" 警告再次以报复的方式出现。然后我再次检查了这些建议,以确保我没有忽略任何东西。
1
转到 Android Studio 和 select "Use gradle wrapper" 中的设置:
在 Android Studio select 中:File\Settings\Build,执行,Deployment\Build tools\Gradle
标记:使用默认 gradle 包装器(默认)
这删除了构建文件中的所有 'cannot be applied to '(groovy.lang.Closure') 警告。
2
打开并编辑文件: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”
在您的 Android Studio 中,转到文件 -> 设置。接下来选择 Build, Execution, Deployment -> Build Tools -> Gradle and select "Use default gradle wrapper (recommended)".
重建项目。
如果上述选项中的 none 有效,则执行以下操作
- 在 "Project Explorer" 中将项目更改为
Project
视角。
- 删除
.gradle
和 build
个文件夹。
- 单击文件 -> 使缓存无效/重新启动... -> 使缓存无效并重新启动
- 现在开始工作了,编码愉快。
更新 Android Studio 后,我曾经有过此警告。
当我转到设置>>构建工具>>Gradle时,我发现本地Gradle路径无效,因为gradle版本也从 2.6 更新到 2.8。
修复了新路径并重新同步gradle删除了警告。
另一种方法是使用gradlewrapper
.
删除app文件夹下的gradle文件夹并重新同步项目
目前的问题是您 可能 在升级时导入的 Android Studio 设置仍然指向 gradle-2.4 或其他一些版本高于 Android Studio 1.5 预期。
要解决此问题,您应该打开 设置 并转到 构建、执行、部署 > 构建工具 > Gradle 并更改本地 gradle 发行版的主路径 或 select 默认 gradle 包装器。
应用并重新同步您的项目。
我通过简单地这样做设法解决了我的问题:
单击 "File",然后单击 select“使缓存无效/重新启动
我只需要删除
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'
}
}
}
在我的例子中,我的 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
将 buildToolsVersion
从
更改为
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
..
}
至
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
..
}
对我有用。
我在我的项目 gradle 文件中收到此警告:
Warning:(16, 5) 'buildTypes' cannot be applied to '(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,但仍然收到警告。
导致此警告的原因是什么?如何解决?
我遇到了同样的问题。我开始了一个新项目并且它成功了,所以我只复制了 build.gradle 文件。在我的例子中,唯一的区别是缺少 compileOptions 部分。我将它从我的项目中删除,同步 gradle,重新插入 compileOptions 部分,然后再次同步 gradle。
我遇到了同样的问题。将 buildTypes 作为 android 部分中的最后一个条目移动对我有用。
android {
...
buildTypes {
}
}
正在将 distributionUrl=https://services.gradle.org/distributions/gradle-2.1-bin.zip 更改为 gradle-2.1-all.zip ]-wrapper.properties 为我解决了问题。
1 在 "android" 部分的相同位置剪切并粘贴 "buildTypes"
2 重新同步项目
这对我有用:
buildTypes.debug {
ext.enableCrashlytics = false
}
buildTypes.release {
debuggable false
zipAlignEnabled true
minifyEnabled false
signingConfig signingConfigs.release
}
对我来说,应用上述解决方案并没有解决问题。相反,我必须转到 Android Studio 和 select "Use gradle wrapper":
中的设置在 Android 工作室 select 中: File\Settings\Build, 执行, Deployment\Build tools\Gradle
(Mac 用户: Android Studio\Preferences...\构建, 执行, Deployment\Build tools\Gradle )
标记:使用默认gradle包装器(默认)
这删除了构建文件中的所有 'cannot be applied to '(groovy.lang.Closure') 警告。
解决此 Gradle 问题的最简单方法是重新创建项目,让 Android Studio 重新配置 Gradle。
只需 select "Open an existing Android Studio project" 并选择您的项目文件夹。
更多详情here。
要解决此问题,请在您的 Android Studio 中转到 文件 -> 设置 。 在设置中选择 构建、执行、部署 -> 构建工具 -> Gradle 和 select "Use default gradle wrapper (recommended)" 选项。
重建后你的build.gradle就完全没问题了。
当您将项目导入您的环境并且 Gradle 插件安装在与原始位置不同的位置时,就会出现问题。您只需要指出您的 Gradle 安装位置。
在彼此之间移动 buildTypes 或 defaultConfig 或其他任何东西并不是一个完整的解决方案
编辑: 这就是我最终解决这个问题的方式...
在 Android Studio 中导航至:
文件 |设置 |构建、执行、部署 |构建工具 | Gradle
确保未选中此项,尽管建议保留...
使用默认 Gradle 包装器(推荐)
而且这个已经被选中了...
使用本地 gradle 分发
并且 Gradle 主页设置为此,以后可能 gradle-n.n ...
C:/程序Files/Android/AndroidStudio1/gradle/gradle-2.4
您可能需要重新启动 Android Studio,重建项目等,但问题已解决。
编辑结束。
我发布这个是为了建议其他刚接触这个问题的人忽略它。无论如何,该项目都可以完美运行。这只是构建系统中的一个错误,希望尽快修复。我发表了评论并在这里投票,它再次成为一个活跃的话题......
在尝试了以下三个线程中的建议后,未成功,我从头开始重新制作了整个项目。我启动了一个新的 Android Studio 项目,将所有原始库和主要文件复制到其中,忽略了构建系统生成的任何文件并重建了项目。一切都很好,除了所有那些 "cannot be applied to '(groovy.lang.Closure)'" 警告再次以报复的方式出现。然后我再次检查了这些建议,以确保我没有忽略任何东西。
1
2
3 https://github.com/DrKLO/Telegram/issues/870
我的配置是: Android Studio 1.3,compileSdk 版本 22,buildTools 版本“22.0.1”
在您的 Android Studio 中,转到文件 -> 设置。接下来选择 Build, Execution, Deployment -> Build Tools -> Gradle and select "Use default gradle wrapper (recommended)".
重建项目。
如果上述选项中的 none 有效,则执行以下操作
- 在 "Project Explorer" 中将项目更改为
Project
视角。 - 删除
.gradle
和build
个文件夹。 - 单击文件 -> 使缓存无效/重新启动... -> 使缓存无效并重新启动
- 现在开始工作了,编码愉快。
更新 Android Studio 后,我曾经有过此警告。
当我转到设置>>构建工具>>Gradle时,我发现本地Gradle路径无效,因为gradle版本也从 2.6 更新到 2.8。
修复了新路径并重新同步gradle删除了警告。
另一种方法是使用gradlewrapper
.
删除app文件夹下的gradle文件夹并重新同步项目
目前的问题是您 可能 在升级时导入的 Android Studio 设置仍然指向 gradle-2.4 或其他一些版本高于 Android Studio 1.5 预期。
要解决此问题,您应该打开 设置 并转到 构建、执行、部署 > 构建工具 > Gradle 并更改本地 gradle 发行版的主路径 或 select 默认 gradle 包装器。
应用并重新同步您的项目。
我通过简单地这样做设法解决了我的问题: 单击 "File",然后单击 select“使缓存无效/重新启动
我只需要删除
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'
}
}
}
在我的例子中,我的 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
将 buildToolsVersion
从
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
..
}
至
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
..
}
对我有用。