android groovy gradle

android - ''dependencias'' no se pueden aplicar a ''(groovy.lang.Closure)''



gradle (15)

No puedo solucionar este error:

dependencies cannot be applied to ''(groovy.lang.Closure)

Este es mi archivo 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 } }


  1. Cerrar el proyecto (Archivo / Cerrar proyecto),
  2. Seleccione "Abrir un proyecto de Android Studio existente" en el menú de inicio y seleccione la carpeta que contiene su proyecto de Android.

Este trabajo para mi.


Apuesto a que el problema no tiene ninguna relación con el código que le da advertencias, lo más probable es que sea su archivo de protección. Tenía lo siguiente en mi código y recibí la misma advertencia:

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

Al comentar runProguard false , todos mis problemas desaparecen, runProguard false :)


Corte y luego pegue los "buildTypes" en el mismo lugar en la sección "android" y vuelva a sincronizar (actualizar) Proyecto


Entré en las preferencias para probar una de las otras respuestas cuando noté una advertencia de que mi directorio de inicio de gradle estaba equivocado. Entonces abrí el explorador de archivos y elegí la versión más reciente de gradle , y todos los errores desaparecieron. Imagen mostrada a continuación.


Ir

Ventanas

Archivo -> Configuración -> Compilación, ejecución, implementación -> Herramientas de compilación -> Gradle

Mac

Preferencia -> Compilación, ejecución, implementación -> Herramientas de compilación -> Gradle

y seleccione Usar envoltura de gradle predeterminada


Los archivos de Gradle pueden hacerse explícitos en varios lugares para evitar tales errores. Ej. Cambio

configurations {

a

project.configurations {

o

task { description ''foo''

a

task { setDescription ''foo''


Me encontré con un problema similar a esto en IntelliJ para un proyecto de Kotlin. Parece que el problema era que en mi proyecto, a pesar de que estaba configurado para usar JDK 8, las versiones de lenguaje y API de alguna manera se establecieron en 1.3. Ver Preferencias del proyecto> Facetas. En mi caso, marqué "usar la configuración del proyecto", pero la configuración manual por faceta también podría funcionar.


Mi problema es que todo el archivo build.setting con el que estaban ocupados cannot be applied to ''(groovy.lang.Closure)'' mensajes de advertencia cannot be applied to ''(groovy.lang.Closure)'' lugar de suceder en ninguna variable en particular.

He probado todas las soluciones proporcionadas por otros, pero ninguna de ellas me funciona. Terminé haciendo estos pasos y luego funciona de maravilla. Si tienes el mismo problema, pruébalo.

  1. Abra y edite el archivo: su yourproject/gradle/wrapper/gradle-wrapper.properties . Edite contenido para actualizar la versión de distribución de gradle como se muestra en la imagen a continuación y luego guárdelo.
  2. Eliminar esta carpeta: su yourproject/.gradle .
  3. Haga clic en Sync project with gradle files , entonces está listo para Sync project with gradle files .


Para solucionar el problema, simplemente cierre el proyecto, luego seleccione “Abrir un proyecto existente de Android Studio” en el menú de inicio y seleccione la carpeta que contiene su proyecto de Android. Cuidado, seleccione la carpeta , no el archivo de proyecto .iml.


Puede ir a Preferencias y seleccionar "usar envoltorio de gradle predeterminado" y luego reconstruir el proyecto. Funciono bien para mi:


Resolví el problema en Android Studio al invalidar el caché y reiniciar.

File-> Invalidate Caches / Restart..


Según lo que genera Android Studio, debe tener un archivo de proyecto de nivel superior build.gradle y otro para su aplicación build.gradle .

Nivel superior:

// 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'' } } }

Nivel de aplicación:

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.+'' }

Pero incluso sin todo eso, su problema es que tiene dependencies dentro de la configuración de su complemento de android .

android { dependencies { } }

eliminar ese bloque de dependencies vacío.

EDITAR: También comencé a recibir este error con el último Android Studio, todo lo que tenía que hacer era agregar una versión más nueva del complemento Gradle y compilar la Versión 22 de SDK.

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() } }


Si ya está utilizando el "envoltorio de gradle predeterminado" y no ayuda:

In Menu click: File -> Invalidate Caches / Restart...

Si tampoco ayuda, intente en 2 pasos:

1) Delete ".gradle" folder (and "build" folder if you have it already) 2) In Menu click: File -> Invalidate Caches / Restart...

Después de reiniciar la advertencia debería desaparecer.

(Para mí funcionó y para Android Studio y para IntelliJ Idea)



Tengo el mismo problema en Android Studio 2.2, funciona para mí:

original:

android { ... } dependencies { ... }

mover dependencies en android :

android { ... dependencies { ... } }