web-dev-qa-db-fra.com

activer l'option Processeurs d'annotation dans Android Studio 2.2

J'essaie d'utiliser Java 8 dans mon projet et pour cela j'ai ajouté le compilateur Jack.

Après avoir activé jack, j'ai commencé à avoir des problèmes avec les bibliothèques qui utilisent Annotation Processing et à regarder sur le Web, j'ai lu que j'avais besoin d'Android studio 2.2 et de com.Android.tools.build:gradle:2.2.0-alpha6 pour compiler des bibliothèques générant du code à partir d'annotations .

Je télécharge Android Studio 2.2 preview 6 et convertis mon projet en projet. Et après cela, j’ai découvert que le plugin apt gradle n’était plus supporté, puis j’avais besoin de changer toutes les dépendances qui utilisent apt pour utiliser la nouvelle option annotationProcessor.

Ex:

apt "org.projectlombok:lombok:$rootProject.lombokVersion"

à

annotationProcessor "org.projectlombok:lombok:$rootProject.lombokVersion"

Maintenant, si j'utilise "make project", le projet est compilé sans problèmes, mais si j'essaye de l'exécuter, j'ai des erreurs avec le code qui devrait être généré par les annotations.

De plus, lorsque j'ouvre le projet, je reçois un avertissement du plug-in lombok "Le traitement des annotations semble être désactivé pour le projet". Lorsque j'ouvre les paramètres du projet et que je clique sur "Construire -> Compilateur", je ne parviens pas à trouver les processeurs d'annotation.

Ma question est donc la suivante: comment activer les processeurs d'annotation dans Android Studio 2.2? Cette fonctionnalité a été désactivée? Si oui, comment puis-je générer le code à partir d'annotations?

--EDIT -- Je fais un PullRequest pour changer le projet à compiler avec Java8, vous pouvez vérifier le PR ici: https://github.com/jonathanrz/myexpenses-Android/pull/57

40
jonathanrz

Fermez le projet. Dans la boîte de dialogue "Bienvenue dans Android Studio", cliquez sur "Configurer" dans le coin inférieur droit.

Ensuite,

Paramètres> Construire, Exécution, Déploiement> Compilateur> Processeurs d'annotation. Cochez la case "Activer le traitement des annotations".

Si ça ne marche pas. Supprimez le projet de la boîte de dialogue "Bienvenue dans Android Studio" et ouvrez-le depuis le début.

Travaillé pour moi.

93
Jacques Koorts

Vous pouvez activer les Processeurs d'annotation sans fermer votre projet dans Android Studio 2.3:

File -> Other Settings -> Default Settings

 enter image description here

Build, Execution, Deployment -> Compiler -> Annotation Processors -> 
Enable annotation processing.

 enter image description here N'oubliez pas de nettoyer, compiler, invalider et redémarrer par la suite.
À votre santé!

30
Tudor

https://stackoverflow.com/a/38698186/4024146

et après faire: File > Invalidate Caches / Restart... > Invalidate and Restart

22
mtrakal

Ouvrez compiler.xml dans le dossier .idea. J'ai eu le suivant:

<annotationProcessing>
  <profile default="true" name="Default" enabled="false">
    <processorPath useClasspath="true" />
  </profile>
</annotationProcessing>

J'ai simplement changé pour permettre au projet vrai et rouvert.

6
poetichustla
  1. Fermez votre projet.
  2. Paramètres> Construire, Exécution, Déploiement> Compilateur> Processeurs d'annotation. Cochez la case "Activer le traitement des annotations". 
  3. Ouvrez votre projet.
  4. Fichier> Invalider les caches/redémarrer ...> Invalider et redémarrer 

Attendez le processus complètement, alors tout ira bien. 

2
Neo Tran

Ajout à @Jacques Koorts et @mtrakal 

Si vous ne pouvez pas accéder à l'écran "Bienvenue dans Android Studio". Essayez File -> Close Project au lieu de cliquer sur l'icône X. Ensuite, vous obtenez l'écran "Bienvenue à Android Studio" et vous verrez le matériel en bas à droite. Suivez la réponse acceptée après cela et éventuellement l'invalidation du cache.

1
Bri6ko

Cette réponse pour ceux qui feront face à ce problème à l'avenir

Pour Kotlin

Ajouter le plugin kapt 

apply plugin: 'kotlin-kapt'
implementation 'com.google.dagger:dagger:2.21'
kapt 'com.google.dagger:dagger-compiler:2.21'

Pour Java

implementation 'com.google.dagger:dagger:2.21'
annotationProcessor 'com.google.dagger:dagger-compiler:2.21'
0
Fazal Hussain

Stupide mais qui a fonctionné pour moi, essayez de changer la version de la bibliothèque dans mon cas, je passe à la version 1.4.1.

0
Chulo

Parfois, l'option annoter sera grisée si le projet n'est pas intégré au contrôle de version. Alors allez à VCS-> Activez l'intégration du contrôle de version, alors voila vous verrez l'option annoter et vous pourrez voir le nom de l'auteur à côté des numéros de ligne sur l'éditeur.

0
Random Aspirer