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.
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
Basé sur la réponse d'ElliotM:
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'
semble que ce problème ne soit pas dans app/build.gradle
, mais dans butterknife-gradle-plugin
Résolu en supprimant butterknife-gradle-plugin