8
votes

Androidannotations ne peut pas trouver la classe de symboles

J'utilise AndroidAnnotations dans un projet Android Studio Hallele. Je reçois actuellement une sortie d'erreur de AA lors de la compilation indiquant: xxx

La sortie d'erreur n'empêche pas la construction de l'application - ce n'est pas vraiment une erreur de compilation car la classe est là, il semble qu'il est là Juste un problème de synchronisation malheureux avec le processus de compilation.

Y a-t-il quelque chose que je puisse faire pour éviter ces erreurs de faux positives de AA? Quand il y a des "fausses" erreurs montrées chaque fois que je compile, c'est très facile à manquer les erreurs réelles.


5 commentaires

Que voulez-vous dire par compilation? "faire" le projet ou l'analyse statique de l'IDE? Utilisez-vous le dernier comme?


"Faire du projet" et "projet de reconstruction" génère l'erreur dans la sortie de construction. Ce n'est pas un chèque IDE. J'utilise AA V3.1


Cela fonctionne-t-il de la ligne de commande?


Lorsque I Assemblez-vous à la ligne de commande, je ne vois pas la sortie d'erreur. Mais comme je l'ai mentionné dans la question, même lorsque l'erreur est affichée dans Android Studio, elle n'empêche pas la construction, cela me fait simplement payer beaucoup plus d'attention à la sortie de construction pour vous assurer qu'il n'y a pas d'erreurs de construction réelles à vous inquiéter. À propos.


Veuillez essayer notre exemple projet. Produit-il les mêmes erreurs dans l'IDE? En outre, il peut produire ces erreurs si le projet n'a pas été construit, car les classes générées ne sont pas présentes à ce moment-là. Vous devez faire le projet avec l'IDE, assurez-vous que les classes sont générées et Intellij les a indexé afin que l'éditeur puisse les ramasser.


3 Réponses :


1
votes

Essayez de voir si vous avez manqué de résoudre des erreurs dans la classe MainActivity ou dans une personne de son membre de haricot que vous avez annoté.


0 commentaires

7
votes

J'ai eu la même erreur. Pour résoudre ce problème, j'ai rétablir mes dernières modifications et elle a encore fonctionné. Je pense que c'était soit des erreurs Importation optimisée (vous devez importer des classes générées, par exemple. XXX_) ou j'ai injecté la mise en page par ID Qu'est-ce qui n'était pas existé dans la mise à jour de la mise en page XML

Je l'ai compris. Mon problème était ce que j'utilisais privé mofidier au lieu de protégé dans xxx


2 commentaires

Merci pour cette réponse. Cela m'a fait regarder mes changements de plus près et j'avais accidentellement utilisé @bean au lieu de @PRef quelque part dans mon code. Frustrant. Les erreurs / avertissements étant lancés n'étaient pas très utiles. Bien que, dans toute l'équité, il y avait techniquement à propos de moi en utilisant @bean et mon fichier préfs_ non étant un ebean alors j'aurais dû réaliser quel était le problème. J'ai tellement de classes annotées que l'erreur dont j'avais besoin d'avoir été enterrée au milieu de nombreux terrains de ne pas trouver d'erreurs de symboles. Espérons que les personnes AA peuvent comprendre un moyen de mieux mettre en valeur la question sous-jacente lorsqu'une construction échoue.


Cette réponse m'a donné un indice quant à ce qui est arrivé qui est que j'ai utilisé aprèsViews sur une méthode avec un mauvais nombre de paramètres (1 au lieu de 0)



1
votes

Le problème ne doit pas nécessairement être dans MainActivTy, mais c'est probablement à cause d'un modificateur privé utilisé avec des anotations Android (dans l'injection, la déclaration de méthode, etc.) quelque part dans votre code


0 commentaires