我在我的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
,但是没有运气!
当我Clean Project
时,编辑器将红色显示与数据绑定相关的类(包括BR
),这与预期的一样。在我Rebuild Project
之后,它给了我这个编译错误,但是现在这些类已经解决了,我可以使用Cmd +单击导航到它们中。解决这些问题后,我尝试重建,制作等。但这总是给我相同的编译错误。
我在这个愚蠢的问题上花费了数小时,非常感谢任何帮助。
PS:问题似乎与this one非常相似,但是它已经很老了(即gradle和插件不是最新的),并且在注释中指出数据绑定类还可以。
答案 0 :(得分:0)
构建窗口显示了一个错误,即我所涉及的一个错误。在终端上,我尝试了./gradlew :app:build
,它给了我另一个错误,如下所示:
Not sure how to handle insert method's return type.
我在Dao
的{{1}}中添加了一个方法,但是返回类型不合适。那是个错误。我修复该错误之后,另一个错误消失了。