Je suis incapable de corriger cette erreur:
dependencies cannot be applied to '(groovy.lang.Closure)
Ceci est mon fichier de classement:
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
}
}
Selon ce que génère Android Studio, vous devez disposer d'un fichier de projet de niveau supérieur build.gradle
et d'un autre pour votre application build.gradle
.
Haut niveau:
// 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' }
}
}
Niveau d'application:
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.+'
}
Mais même sans tout cela, votre problème est que vous avez une dependencies
dans votre config de plugin Android
.
Android {
dependencies {
}
}
supprimez ce bloc dependencies
vide.
EDIT: J'ai également commencé à avoir cette erreur avec le dernier Android Studio, tout ce que j'avais à faire, c'était d'ajouter une version plus récente du plugin Gradle et 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()
}
}
Aller à
Les fenêtres
Fichier -> Paramètres -> Construire, Exécution, Déploiement -> Outils de construction -> Gradle
Mac
Préférence -> Construction, exécution, déploiement -> Outils de construction -> Gradle
et sélectionnez Utiliser l’encapsuleur par défaut
Mon problème est que tout le fichier build.setting était occupé par des messages d'avertissement cannot be applied to '(groovy.lang.Closure)'
au lieu de se produire sur une variable particulière.
J'ai essayé toutes les solutions fournies par d'autres mais aucune d'entre elles ne fonctionne pour moi ..__ J'ai fini par faire ces étapes puis ça fonctionne comme un charme. Si vous rencontrez le même problème, essayez-le.
yourproject/gradle/wrapper/gradle-wrapper.properties
. Modifiez le contenu pour mettre à jour la version de distribution de gradle comme indiqué dans l'image ci-dessous, puis enregistrez.yourproject/.gradle
.Sync project with gradle files
, alors vous êtes prêt à partir.Si vous utilisez déjà "l'encapsuleur par défaut" et que cela n'aide pas:
In Menu click: File -> Invalidate Caches / Restart...
Si cela n’aide pas non plus, essayez en 2 étapes:
1) Delete ".gradle" folder (and "build" folder if you have it already)
2) In Menu click: File -> Invalidate Caches / Restart...
Après avoir redémarré l'avertissement devrait disparaître.
(Pour moi cela a fonctionné et pour Android Studio et pour IntelliJ Idea)
Je suis allé dans les préférences pour essayer l'une des autres réponses lorsque j'ai remarqué un avertissement indiquant que mon répertoire personnel gradle
était erroné. J'ai donc ouvert le navigateur de fichiers et choisi la version gradle
la plus récente. Toutes les erreurs ont disparu. Image ci-dessous.
Je parie que le problème n’est absolument pas lié au code qui vous avertit, c’est très probablement votre fichier proguard. J'ai eu ce qui suit dans mon code et j'ai reçu le même avertissement:
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
En commentant runProguard false
, tous mes problèmes disparaissent, allez comprendre :)
J'ai le même problème dans Android studio 2.2, ça marche pour moi:
original:
Android {
...
}
dependencies {
...
}
move dependencies
in Android
:
Android {
...
dependencies {
...
}
}
Pour résoudre le problème, fermez simplement le projet, puis sélectionnez «Ouvrir un projet Android Studio existant» dans le menu Démarrer et sélectionnez le dossier contenant votre projet Android. Attention, sélectionnez le dossier et non le fichier de projet .iml.
Coupez puis collez les "buildTypes" au même endroit dans la section "Android" et le projet Re-Sync (actualiser).
Ce travail pour moi.
Les fichiers Gradle peuvent être explicites à plusieurs endroits pour éviter de telles erreurs. Par exemple. Changement
configurations {
à
project.configurations {
ou
task {
description 'foo'
à
task {
setDescription 'foo'
J'ai rencontré un problème similaire à celui-ci dans IntelliJ pour un projet Kotlin. Il semble que le problème soit que dans mon projet, même s'il était configuré pour utiliser JDK 8, les versions de langage et d'API ont été configurées à 1.3. Voir Préférences du projet> Facettes. Dans mon cas, j'ai coché "utiliser les paramètres du projet", mais leur réglage manuel par facette peut également fonctionner.