Après la mise à niveau de 2.2 à 2.3, je vois cet avertissement.
et quand j'essaie de compiler le projet, je vois cette erreur de compilation
Comment puis-je résoudre ce problème sans rétrograder à une version précédente? Existe-t-il une mise à jour d'Android-apt qui puisse résoudre ce problème?
Le plugin Android-apt
est obsolète.
Consultez ici le guide de migration :
Depuis la version 2.2 du plugin Android Gradle, toutes les fonctionnalités précédemment fournies par Android-apt sont désormais disponibles dans le plugin Android.
Vous pouvez supprimer Android-apt
en suivant le guide de migration pour obtenir les fonctionnalités équivalentes.
Les parties importantes du guide migration:
- Assurez-vous que vous êtes sur le plugin Android Gradle 2.2 ou plus récent.
- Supprimer le plugin
Android-apt
de vos scripts de construction- Remplacez toutes les dépendances
apt
,androidTestApt
ettestApt
par leur nouveau format:
dependencies {
compile 'com.google.dagger:dagger:2.0'
annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}
Il existe également une vérification explicite dans le plug-in Android Gradle, qui correspond à ce que vous voyez:
utiliser des plugins incompatibles pour le traitement des annotations Android-apt
Les futures versions du plugin Android Gradle ne seront pas compatibles avec le fonctionnement de Android-apt
, ce qui est la raison de cette vérification.
Pour moi, je rencontrais cette erreur en utilisant la bibliothèque Vault
de Contentful qui spécifie que vous incluez:
apply plugin: 'com.neenbedankt.Android-apt'
et
compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'
Ce que vous devez faire, c'est SUPPRIMERapply plugin: 'com.neenbedankt.Android-apt'
puis CHANGE:
compile 'com.contentful.vault:core:2.1.0'
apt 'com.contentful.vault:compiler:2.1.0'
à
annotationProcessor 'com.contentful.vault:compiler:2.1.0'
annotationProcessor 'com.contentful.vault:core:3.0.1'
Vous pouvez toujours vérifier https://github.com/contentful/vault pour les dernières versions
Supprimer le plugin apt
Changement:
apt -> compiler
testApt -> testAnnotationProcessor
androidTestApt -> androidTestAnnotationProcessor
Dans votre build.gradle (app), ajoutez à defaultConfig:
vectorDrawables.useSupportLibrary = true
Piggybacking sur @Gabriele Mariotti ici car sa réponse est assez exacte et implique cela mais ne l'indique pas. Gradle ne suggère pas non plus cela comme une option valable, bien que ce soit également le cas. L'équivalent de test pour androidTestApt
et testApt
est androidTestAnnotationProcessor
et testAnnotationProcessor
.
Exemple:
testApt "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion"
Devrait être changé en
testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
Si le processeur d'annotation a des arguments, vous devrez peut-être aussi changer ceci:
apt {
arguments {
KEY "VALUE"
}
}
pour ça:
Android {
...
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = ['KEY': 'VALUE']
}
}
}
}