Gradle 无法解析生成的 类

Gradle cannot resolve generated classes

我在我的 android 项目中使用数据绑定,它在昨天之前一直运行良好。我不知道发生了什么,但现在无法再编译我的项目:

error: cannot find symbol class BR

有趣的是,与数据绑定相关的 classes 按预期生成,我可以导航到 BR 并查看那里的所有变量。

生成的源位于 build/generated/source/apt/debug 位置。 AndroidStudio也显示generatedJava文件夹,包括BRclass,如下:

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时,编辑器以红色显示数据绑定相关的classes(包括BR),这符合预期。在我 Rebuild Project 之后,它给了我这个编译错误,但是这些 classes 现在已经解决了,我可以使用 Cmd + 单击导航到它们。解决后,我尝试重建、制作等,但它总是给我同样的编译错误。

我在这个愚蠢的问题上花了几个小时,非常感谢任何形式的帮助。

PS:这个问题似乎与 this one 非常相似,但它很旧(即 gradle 并且插件不是最新的)并且在评论中也有说明数据绑定 class 没问题。

构建 window 显示了一个错误,我在问题中包含了一个错误。从终端,我尝试了 ./gradlew :app:build,它给了我另一个错误,如下所示:

Not sure how to handle insert method's return type.

我已经向 RoomDao 添加了一个方法,但是 return 类型不合适。那是个错误。在我修复它之后,另一个错误消失了。