web-dev-qa-db-fra.com

Impossible de trouver la méthode 'com.Android.build.gradle.api.BaseVariant.getOutputs () Ljava/util/List;'

build.gradle

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.0'
        classpath 'me.tatarka:gradle-retrolambda:3.6.1'
        classpath 'com.google.gms:google-services:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

app/build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0'
    }
}


      Android{
            compileSdkVersion = 26  
            buildToolsVersion = "26.0.2"
    defaultConfig {
            minSdkVersion = 16
            targetSdkVersion = 26

        }
    ...
    applicationVariants.all { variant ->

        variant.outputs.all { output ->
            outputFileName = "newApkName.apk"
        }
    }
}

Comment résoudre le problème: 

Unable to find method 'com.Android.build.gradle.api.BaseVariant.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 réseau.) Dépendances de téléchargement et projet de synchronisation (Réseau requis) L’état d’un processus de construction Gradle (démon) est peut-être corrompu. L'arrêt de tous les démons Gradle peut résoudre ce problème. Arrêtez les processus de création de Gradle (Nécessite un redémarrage) Votre projet utilise peut-être un plug-in tiers incompatible avec les autres plug-ins du projet ou avec la version de Gradle demandé par le projet. Dans le cas de processus Gradle corrompus, vous pouvez également essayer de fermer le IDE puis de tuer tous les processus Java.

8
NickUnuchek

J'ai eu la même erreur avec la synchronisation graduelle, spécifiquement liée à butterknife, ma solution a été résolue via 

https://github.com/JakeWharton/butterknife/issues/963#issuecomment-339545297

tldr dans votre fichier de construction du projet ...

buildscript{
 repositories {
   //other repos will likely exist here like jcenter and mavenCentral

   //add this closure
   maven {
    url "https://oss.sonatype.org/content/repositories/snapshots"
   }
  }
   dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0'
    classpath 'com.Android.tools.build:gradle:3.0.0'
    //change your version to 9.0.0-SNAPSHOT
     classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
    //.. other project level dependencies 
   }
 }
}

Assurez-vous également que votre tout projet comprend 

allproject{
  repositories{
    maven {
      //this
      url "https://oss.sonatype.org/content/repositories/snapshots"
    }
   }
 }

Et puis, le problème lié à none butterknife faisait monter ma buildToolsVersions à "26.0.2" dans le fichier de construction de votre application.

MISE À JOUR 4/19/2018 Depuis, je me suis séparé de butterknife car il a depuis causé plus de problèmes que tout autre tiers que j'ai utilisé. De plus, avec le soutien complet de Kotlin, butterknife n'est pas nécessaire 

11
ElliotM

Basé sur la réponse d'ElliotM:

  • Kotlin 1.2.10 
  • Gradle 3.0.1 
  • Outils de construction version 27.0.3
  • appliquer le plugin: 'com.Android.library'
  • appliquer le plugin: 'kotlin-Android-extensions'
  • appliquer le plugin: 'kotlin-Android'
  • appliquer le plugin: 'com.jakewharton.butterknife'

Dans mon projet de bibliothèque, ce commentaire m'a aidé (R2 importations): https://github.com/JakeWharton/butterknife/issues/963#issuecomment-342547601

build.gradle du projet:

buildscript {
    repositories {
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
    }
}

repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

le module build.gradle:

apply plugin: 'com.jakewharton.butterknife'

...

dependencies {
    compile 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
    kapt 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
}

De cette façon, vous pouvez utiliser le 

apply plugin: 'com.jakewharton.butterknife'
0
norbDEV

semble que ce problème ne soit pas dans app/build.gradle, mais dans butterknife-gradle-plugin

Résolu en supprimant butterknife-gradle-plugin

0
NickUnuchek