'dependencies'不能应用于'(groovy.lang.Closure)'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'dependencies'不能应用于'(groovy.lang.Closure)'相关的知识,希望对你有一定的参考价值。
我无法修复此错误:
dependencies cannot be applied to '(groovy.lang.Closure)
这是我的gradle文件:
buildscript {
repositories {
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
}
}
apply plugin: 'android'
apply plugin: 'crashlytics'
repositories {
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':FRNDzTER_core')
compile project(':cropper')
compile project(':stickyListHeaders')
compile "com.nostra13.universalimageloader:universal-image-loader:${rootProject.universalImageLoaderVersion}"
compile "com.google.android.gms:play- services:${rootProject.googlePlayServicesVersion}"
compile "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
compile 'com.crashlytics.android:crashlytics:1.+'
}
android{
compileSdkVersion rootProject.compileSdkVersion
buildToolsVersion rootProject.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
versionCode rootProject.versionCode
versionName rootProject.versionName
}
buildTypes {
release {
debuggable rootProject.prodDebug
proguardFile 'proguard.cfg'
}
}
dependencies {
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
lintOptions {
abortOnError false
}
}
根据Android Studio生成的内容,您需要有一个顶级项目文件build.gradle
,另一个用于您的应用程序build.gradle
。
顶层:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url 'http://download.crashlytics.com/maven' }
}
}
申请级别:
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'
android{
compileSdkVersion rootProject.compileSdkVersion
buildToolsVersion rootProject.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
versionCode rootProject.versionCode
versionName rootProject.versionName
}
buildTypes {
release {
debuggable rootProject.prodDebug
proguardFile 'proguard.cfg'
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
lintOptions {
abortOnError false
}
} `
dependencies {
compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':FRNDzTER_core')
compile project(':cropper')
compile project(':stickyListHeaders')
compile "com.nostra13.universalimageloader:universal-image- l loader:${rootProject.universalImageLoaderVersion}"
compile "com.google.android.gms:play- services:${rootProject.googlePlayServicesVersion}"
compile " "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
compile 'com.crashlytics.android:crashlytics:1.+'
}
但即使没有这一切,你的问题是你的dependencies
插件配置中有android
。
android {
dependencies {
}
}
删除那个空的dependencies
块。
编辑:我也开始使用最新的Android Studio收到此错误,我所要做的就是添加更新版本的Gradle插件和compileSdkVersion 22。
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
- 关闭项目(文件/关闭项目),
- 在开始菜单中选择“打开现有的Android Studio项目”,然后选择包含Android项目的文件夹。
这对我有用。
可以在多个位置显示Gradle文件以避免此类错误。例如。更改
configurations {
至
project.configurations {
要么
task {
description 'foo'
至
task {
setDescription 'foo'
要解决此问题,只需关闭项目,然后在开始菜单中选择“打开现有的Android Studio项目”,并选择包含Android项目的文件夹。请注意,选择文件夹,而不是.iml项目文件。
剪切然后将“buildTypes”粘贴到“android”部分和重新同步(刷新)项目中的相同位置
我在IntelliJ中为Kotlin项目遇到了类似的问题。看起来问题是在我的项目中,即使它被设置为使用JDK 8,语言和API版本也以某种方式设置为1.3。请参阅项目首选项>构面。在我的情况下,我勾选了“使用项目设置”,但是每个方面手动设置它们也可以。
我用gradle 2.10解决了这个问题。
在这里下载:http://gradle.org/gradle-download/
并设置您的本地gradle分布如下:
您可以转到“首选项”并选择“使用默认gradle包装器”,然后重建项目。它对我很有用:
去
视窗
文件 - >设置 - >构建,执行,部署 - >构建工具 - > Gradle
苹果电脑
首选项 - >构建,执行,部署 - >构建工具 - > Gradle
并选择使用默认gradle包装器
我的问题是整个build.setting文件被cannot be applied to '(groovy.lang.Closure)'
警告消息占用而不是发生在任何特定变量上。
我尝试过其他人提供的所有解决方案,但它们都不适合我。我结束了这些步骤,然后它就像一个魅力。如果您遇到同样的问题,请尝试一下。
- 打开并编辑文件:
yourproject/gradle/wrapper/gradle-wrapper.properties
。编辑内容以更新gradle分发版本,如下图所示,然后保存。 - 删除此文件夹:
yourproject/.gradle
。 - 点击
Sync project with gradle files
,你很高兴。
如果您已经使用“默认gradle包装器”并且它没有帮助:
In Menu click: File -> Invalidate Caches / Restart...
如果它也没有帮助尝试分两步:
1) Delete ".gradle" folder (and "build" folder if you have it already)
2) In Menu click: File -> Invalidate Caches / Restart...
重新启动后警告应该消失。
(对我而言,它适用于Android Studio和IntelliJ Idea)
当我注意到我的gradle
主目录错误时,我进入首选项尝试其他答案之一。所以我打开文件浏览器并选择了较新的gradle
版本,所有错误都消失了。图片如下所示。
我敢打赌,这个问题与给你警告的代码完全无关,很可能是你的proguard文件。我的代码中有以下内容并得到相同的警告:
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
通过评论runProguard false
,我的所有问题都消失了,去图:)
我在android studio 2.2中遇到同样的问题,它对我有用:
原版的:
android {
...
}
dependencies {
...
}
在dependencies
移动android
:
android {
...
dependencies {
...
}
}
我通过使缓存失效并重新启动来解决Android Studio中的问题。
File-> Invalidate Caches / Restart..
以上是关于'dependencies'不能应用于'(groovy.lang.Closure)'的主要内容,如果未能解决你的问题,请参考以下文章
FullCalendar计划程序 - 类型'字符串'不能分配给'EmitterInterface []类型
The container 'Maven Dependencies' references non existing library '
vue 使用webpack 打包 出现UnhandledPromiseRejectionWarning: Error: “dependency“ is not a valid chunk sort m
android studio gradle dependencies 包存放在哪儿?
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
在以下任何来源中均未找到插件[id:'io.spring.dependency-management',版本:'1.0.5.RELEASE',apply:false]: