Я использовал привязку данных в моем проекте Android, и он работал безупречно до вчерашнего дня. Я не знаю, что произошло, но теперь не могу скомпилировать мой проект:
error: cannot find symbol class BR
Интересно то, что классы, связанные с привязкой данных, генерируются, как и ожидалось, я могу перейти к BR
и просмотреть все переменные там.
Сгенерированные источники находятся в build/generated/source/apt/debug
местоположении. Android Studio также отображает папку generatedJava
, включая класс BR
, следующим образом:
Файл iml
содержит следующую запись:
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
...
<content url="file://$MODULE_DIR$">
...
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
...
</content>
</component>
Кажется, все нормально. Я перезапустил AS, сделал недействительным кеш, удалил папку .gradle
в проекте, очистил .gradle/caches
в домашней папке, но не повезло!
Когда I Clean Project
, редактор отображает классы, связанные с привязкой данных (включая BR
), красным цветом, как и ожидалось. После того, как я Rebuild Project
, это дает мне эту ошибку компиляции, но эти классы теперь разрешены, и я могу перейти к ним с помощью Cmd + click. После того, как они были решены, я пытаюсь пересобрать, сделать и т. Д., Но это всегда дает мне ту же ошибку компиляции.
Я потратил часы на эту глупую проблему, любая помощь очень ценится.
PS: Проблема кажется очень похожей с этим , но он очень старый (то есть gradle и плагины не обновлены), а также в комментариях говорится, что классы привязки данных в порядке.