Dans mon projet, j'utilise, entre autres, Butter Knife et Immutables. Après avoir ajouté Immutables, j'ai reçu l'avertissement suivant
Avertissement : Utilisation de plugins incompatibles pour le traitement des annotations : Android-apt. Cela peut entraîner un comportement inattendu.
et ButterKnife a cessé de fonctionner.
Ma configuration était la suivante :
build.gradle (Projet : MonApplication)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
build.gradle (Module : app)
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
...
dependencies {
...
// Butter Knife
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
// Immutables
apt 'org.immutables:value:2.4.4'
provided 'org.immutables:value:2.4.4'
provided 'org.immutables:builder:2.4.4'
provided 'org.immutables:gson:2.4.4'
}
Après avoir changé
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
à
apt 'com.jakewharton:butterknife-compiler:8.5.1'
L'avertissement a disparu et tout fonctionne comme il se doit.
UPDATE
Comme Mark l'a dit, un processeur d'annotation était inclus dans la version 2.2 de Gradle, il n'y a donc aucune raison d'en fournir un supplémentaire.
Donc :
1) Supprimez le chemin de la classe pour l'apt de la section build.gradle (Projet : MonApplication)
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
2) Retirez la fiche de la build.gradle (Module : app)
apply plugin: 'android-apt'
3) Changez les dépendances de apt pour le nouveau annotationProcessor
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
annotationProcessor 'org.immutables:value:2.4.4'
0 votes
Android studio dispose désormais d'un traitement intégré des annotations au moment de la compilation - vous pouvez supprimer l'utilisation de la balise
android-apt
et utiliserannotationProcessor
à la place. Je ne connais pas votre cas particulier d'utilisation de l'Internet.andorid-apt
mais vous devez vérifier la dernière configuration de gradle pour la dépendance pour laquelle vous l'utilisez.0 votes
Je dois donc modifier l'application du plugin : 'com.neenbedankt.Android-apt' en appliquant le plugin : 'com.neenbedankt.annotationProcessor' ?
0 votes
Non @K.Kempski vous n'avez pas besoin d'appliquer un plugin maintenant. Il suffit d'utiliser annotationProcessor ou de fournir in app gradle.