切换 Git 分支时处理 DataBinding 错误

pat*_*ist 9 android gradle android-databinding

在更改/删除数据绑定布局的 Git 分支之间切换时,我遇到了很多数据绑定问题。在切换 Git 分支时删除文件时,我经常会遇到这样的构建错误:

<path>/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/com/some/package/databinding/SomeLayoutBinding.java:38: error: cannot find symbol
    public final SomeOtherLayoutBinding variable;
Run Code Online (Sandbox Code Playgroud)

...并尝试各种组合

  • 清洁工程
  • ./gradlew cleanBuildCache
  • 将项目与 gradle 同步
  • 无效/重启

但最终都没有解决问题。

我发现唯一有效的方法是清除主目录中的 gradle 缓存,例如:

rm -rf ~/.gradle/caches

然而,这导致我的下一次构建最多需要 10 分钟。

真的应该是这样吗?为什么在切换分支时检测不到文件的添加/删除?