【发布时间】:2019-06-09 00:11:53
【问题描述】:
我在我的 android 项目中使用了 Data Binding,直到昨天它都可以正常工作。我不知道发生了什么,但现在无法编译我的项目了:
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,但没有运气!
当我Clean Project时,编辑器将数据绑定相关类(包括BR)显示为红色,符合预期。在我Rebuild Project 之后,它给了我这个编译错误,但是这些类现在已经解决了,我可以使用 Cmd + click 导航到它们。解决后,我尝试重新构建、制作等,但它总是给我同样的编译错误。
我在这个愚蠢的问题上花了几个小时,非常感谢任何形式的帮助。
PS:问题似乎与this one 非常相似,但它很老了(即 gradle 和插件不是最新的),而且在 cmets 中声明数据绑定类是可以的。
【问题讨论】:
标签: android android-studio gradle android-gradle-plugin android-databinding