Je souhaite utiliser la bibliothèque AndroidX et voici ma configuration Gradle pour Butterknife
app: module Dependency
implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
Brancher
apply plugin: 'com.jakewharton.butterknife'
Dépendance du projet
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0-alpha09'
classpath 'com.google.gms:google-services:4.0.1'
classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Dépôt de projets
repositories {
google()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
jcenter()
}
Tout d’abord, je tiens à remercier @ intellij-amiya et @Nabster pour leur précieuse contribution, cette réponse étant basée sur celles qu’elles ont fournies.
Ma configuration Gradle est la suivante
...
apply plugin: 'com.jakewharton.butterknife'
....
dependencies{
implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
}
...
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
maven {
name 'Sonatype SNAPSHOTs'
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0-alpha09'
classpath 'com.google.gms:google-services:4.0.1'
classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven {
name 'Sonatype SNAPSHOTs'
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Basé sur la réponse de Naveen, la solution est ici .
Cependant, il manque des détails. Veuillez vous référer aux configurations Gradle ci-dessous pour la solution complète:
buildscript {
repositories {
jcenter()
google()
maven { url "https://jitpack.io" }
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0-alpha10'
}
}
allprojects {
repositories {
jcenter()
google()
maven { url "https://jitpack.io" }
mavenCentral()
maven {
name 'Sonatype SNAPSHOTs';
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
et
...
dependencies {
implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
...
En gros, n'utilisez pas apply plugin: 'com.jakewharton.butterknife'
et classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
dans la suggestion ici .
En outre, cette configuration d'Android Studio> Configuration du compilateur:
UPDATE: Vous pouvez maintenant utiliser simplement ButterKnife 9-rc02 au lieu des solutions mentionnées ci-dessus:
...
dependencies {
implementation 'com.jakewharton:butterknife:9.0.0-rc2'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc2'
...
Ajouter name 'Sonatype SNAPSHOTs';
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.3' //3.1.4
}
buildscript {
repositories {
google()
jcenter()
mavenCentral()
// TODO remove after butterknife 9 graduates to stable
maven {
name 'Sonatype SNAPSHOTs';
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
FYI
Vous pouvez utiliser
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
Lire Butter Knife
Voir cette conversation sur le conflit entre Butter Knife 9.0.0-SNAPSHOT et Android Studio 3.0.
https://github.com/JakeWharton/butterknife/issues/1145
ajouter également le support Java 1_8 in build.gradle in Android section
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}