AndroidAnnotations не может найти класс символов

Я использую AndroidAnnotations в проекте Gradle Android Studio. В настоящее время я получаю сообщение об ошибке от AA во время компиляции, которое говорит:

cannot find symbol class MyActivity_

Вывод ошибки не мешает сборке приложения - на самом деле это не ошибка компиляции, потому что класс есть, кажется, что это просто неудачная проблема со временем в процессе компиляции.

Могу ли я что-нибудь сделать, чтобы избежать этих ложноположительных ошибок от АА? Когда каждый раз при компиляции отображаются "поддельные" ошибки, очень легко пропустить настоящие ошибки.


person SuperDeclarative    schedule 23.10.2014    source источник
comment
Что вы имеете в виду под компиляцией? делая проект или идею статического анализа? Вы используете последнюю версию AS?   -  person WonderCsabo    schedule 25.10.2014
comment
Make Project и Rebuild Project генерируют ошибку в выходных данных сборки. Это не проверка IDE. Я использую АА v3.1   -  person SuperDeclarative    schedule 26.10.2014
comment
Это работает из командной строки?   -  person WonderCsabo    schedule 26.10.2014
comment
Когда я assembleDebug в командной строке, я не вижу вывод ошибки. Но, как я упоминал в вопросе, даже когда ошибка отображается в Android Studio, это не мешает сборке, это просто заставляет меня уделять гораздо больше внимания выходным данным сборки, чтобы убедиться, что нет реальных ошибок сборки, о которых нужно беспокоиться. о.   -  person SuperDeclarative    schedule 28.10.2014
comment
Попробуйте наш проект пример. Выдает ли он те же ошибки в IDE? Также это может привести к этим ошибкам, если проект еще не был построен, поскольку сгенерированные классы в это время отсутствуют. Вы должны сделать проект с помощью IDE, убедиться, что классы сгенерированы и IntelliJ проиндексировал их, чтобы редактор мог их подобрать.   -  person WonderCsabo    schedule 28.10.2014


Ответы (3)


У меня была такая же ошибка. Чтобы решить эту проблему, я отменил свои последние изменения, и это снова сработало. Я думаю, что это был либо неправильный оптимизированный импорт (вы должны импортировать сгенерированные классы, например, xxx_), либо я внедрил макет по идентификатору, которого не было в макете xml

Обновить

Я понял это. Моя проблема заключалась в том, что я использовал частный модификатор вместо защиты в

@ViewById(R.id.list) 
private ListView list;
person Evgeny    schedule 22.05.2015
comment
Спасибо за этот ответ. Это заставило меня более внимательно посмотреть на свои изменения, и я случайно использовал @Bean вместо @Pref где-то в своем коде. Раздражающий. Выдаваемые ошибки/предупреждения не очень помогли. Хотя, по правде говоря, технически я использовал @Bean, а мой файл Prefs_ не был EBean, так что я должен был понять, в чем проблема. У меня так много аннотированных классов, что нужная мне ошибка была похоронена среди множества ошибок, связанных с неспособностью найти символ. Надеемся, что ребята из AA смогут найти способ лучше выделить основную проблему, когда сборка завершается неудачно. - person Ben Kane; 02.06.2015
comment
Этот ответ дал мне подсказку о том, что произошло: я использовал AfterViews для метода с неправильным количеством параметров (1 вместо 0) - person smac89; 23.08.2015

Попробуйте посмотреть, не пропустили ли вы исправить какие-то ошибки в классе MainActivity или в ком-то из его членов Bean, которые вы аннотировали.

person Qu4sar    schedule 10.01.2015

Проблема не обязательно должна быть в MainActivty, но, вероятно, она связана с модификатором private, который используется с аннотациями Android (в инъекции, объявлении метода и т. д.) где-то в вашем коде.

person Leo Droidcoder    schedule 21.03.2016