Android Studio 3.0 – Impossible de trouver la méthode ‘com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List’

Essayer de démarrer un nouveau projet Kotlin avec Android Studio 3.0 Canary 1 affiche cette erreur. Trace complète:

Erreur: Impossible de trouver la méthode ‘com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;’. Les causes possibles de cette erreur inattendue sont les suivantes:

  • Le cache de dépendance de Gradle peut être corrompu (cela se produit parfois après un délai de connexion au réseau). Télécharger à nouveau les dépendances et synchroniser le projet (nécessite un réseau)
  • L’état d’un processus de génération Gradle (démon) peut être corrompu. Arrêter tous les démons Gradle peut résoudre ce problème. Arrêter les processus de construction de Gradle (nécessite un redémarrage)
  • Votre projet utilise peut-être un plug-in tiers qui n’est pas compatible avec les autres plug-ins du projet ou la version de Gradle demandée par le projet.

Dans le cas de processus Gradle corrompus, vous pouvez également essayer de fermer l’EDI puis de tuer tous les processus Java.

J’ai essayé les deux premières options et les plug-ins tiers sont laissés par défaut.

gradle-wrapper.properties

#Thu May 18 08:36:52 BST 2017 dissortingbutionBase=GRADLE_USER_HOME dissortingbutionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists dissortingbutionUrl=https\://services.gradle.org/dissortingbutions/gradle-4.0-milestone-1-all.zip 

build.gradle

 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.1.2-3' repositories { maven { url 'https://maven.google.com' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir } 

Je n’ai touché à aucune de ces valeurs, elles sont laissées par défaut. La création d’un nouveau projet non-Kotlin n’a pas ce problème.

Dans mon build.gradle changeant

ext.kotlin_version = '1.1.2-3'

à

ext.kotlin_version = '1.1.2-4'

corrigé ceci.

Vous pouvez trouver la version la plus récente ici .

Pour Java

Il suffit de supprimer

classpath 'me.tatarka:gradle-retrolambda:3.7.0'

rétrograder la version du 8.4.0 à 8.4.0 vers 8.4.0

classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'

N’oubliez pas d’enlever

apply plugin: 'me.tatarka.retrolambda'

à partir du niveau de l’application construire graduellement.

Ça a fonctionné pour moi

Utiliser la version 8.4.0

  classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' 

Ceci est un problème connu dans Android Studio Preview 3.0:

Si vous voyez cette erreur, il est possible que vous ayez une version préexistante du plug-in Kotlin incompatible avec le nouveau plug-in Android pour Gradle qui se trouve dans Android Studio 3.0. La solution consiste à supprimer l’ancien plugin Kotlin.

Ouvrez votre fichier build.gradle niveau du build.gradle et recherchez ext.kotlin_version . Il devrait être 1.1.2-4 (ou supérieur). S’il affiche une version plus ancienne, vous devez supprimer l’ancien plug-in Kotlin afin qu’il ne gêne pas la version incluse dans Android Studio 3.0.

Sous Windows, il doit être situé à

C:\Users\user_name\AndroidStudio_version\config\plugins\Kotlin\

Sur Mac, regardez dans

~/Library/Application\ Support/AndroidStudio_version/Kotlin/

Mettez à jour votre version de kotlin au plus tard:

 ext.kotlin_version = '1.1.2-4' //currently it's the latest version 

Ensuite, vous pouvez rencontrer d’autres erreurs, donc avant de synchroniser à nouveau, assurez-vous que votre buildToolsVersion est “26.0.2” ou supérieur.

Dans mon cas, le problème était dû au fait que nous appliquions butterknife-gradle-plugin . La mise à niveau vers la version 8.8.1 n’a pas résolu le problème, mais sa suppression l’a certainement été.

Le build.gradle appartient à l’application, donc je ne sais même pas pourquoi nous utilisons ce plugin (je suis nouveau dans le projet)