View binding error : Member Injector is defined multiple times

View binding error : Member Injector is defined multiple times

我正在尝试将大型应用程序移动到视图绑定。我们在很多地方都使用 dagger.android,所以我猜 View Binding 和 dagger 表现不佳。这是我收到的错误:


Type net.myapp.base.abstracts.vb.BaseFragmentVB_MembersInjector is defined multiple times:
Users/anshsachdeva/Desktop/android/myapp-android/feature/search/build/intermediates/runtime_library_classes_jar/stagingDebug/classes.jar:net/myapp/base/abstracts/vb/BaseFragmentVB_MembersInjector.class, /

Users/anshsachdeva/Desktop/android/myapp-android/feature/flashcard/build/intermediates/runtime_library_classes_jar/stagingDebug/classes.jar:net/myapp/base/abstracts/vb/BaseFragmentVB_MembersInjector.class

一些背景: 该应用程序使用 classic clean 架构,其中所有子活动、片段等都从基础 classes 扩展而来。该项目还有多个功能模块,如 appbasefeature/searchfeature/flashcarddomain 等。基本 classes 驻留在 base 模块中,而从它们扩展的 classes 驻留在它们的关联模块中,例如 feature/search.

为了支持视图绑定,我添加了一些中间抽象 classes 作为视图绑定的持有者:在处理视图绑定实例的生命周期的同时将膨胀的视图传递给父级并提供对子级的安全访问,两者同时。我只将它们保留在基础 class 模块中。

现在一切正常,子 classes 能够访问基本视图绑定 classes,但是当我尝试构建项目时,出现此错误。我不确定为什么会这样?

(PS:我在几个分支上工作。视图绑定代码在其中一个分支中。上周我制作了这段代码,构建了它并 运行 ,它正在工作。然后我切换分支并开始做其他事情。这周,我回到同一个分支并且代码没有构建)

谢谢大家。我将我的构建环境从暂存更改为调试并且它有效。现在需要解决构建环境为何不工作的新问题。