Gradle无法解析生成的类

时间:2019-06-08 14:39:59

标签: android android-studio gradle android-gradle android-databinding

我在我的android项目中使用了数据绑定,直到昨天它都可以正常工作。我不知道发生了什么,但现在无法再编译我的项目了:

error: cannot find symbol class BR

有趣的部分是,与数据绑定相关的类已按预期生成,我可以导航到BR并查看其中的所有变量。

生成的源位于build/generated/source/apt/debug位置。 Android Studio还显示generatedJava文件夹,包括BR类,如下所示:

SS from Android Studio

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和插件不是最新的),并且在注释中指出数据绑定类还可以。

1 个答案:

答案 0 :(得分:0)

构建窗口显示了一个错误,即我所涉及的一个错误。在终端上,我尝试了./gradlew :app:build,它给了我另一个错误,如下所示:

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

我在Dao的{​​{1}}中添加了一个方法,但是返回类型不合适。那是个错误。我修复该错误之后,另一个错误消失了。