【问题标题】:Gradle cannot resolve generated classesGradle 无法解析生成的类
【发布时间】: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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-11-14
      • 2020-09-30
      • 1970-01-01
      • 2019-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多