android 视图绑定错误:多次定义成员注入器

uemypmqf  于 2023-05-12  发布在  Android
关注(0)|答案(2)|浏览(122)

我试图移动一个大型应用程序查看绑定。我们在很多地方都使用dagger.android,所以我猜视图绑定和匕首的情况不太好。下面是我得到的错误:

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

一些上下文:该应用程序使用经典的干净架构,其中所有的子活动,片段等都从基类扩展。该项目还具有多个特征模块,如appbasefeature/searchfeature/flashcarddomain等。基类驻留在base模块中,而从它们扩展的类驻留在它们的关联模块(如feature/search)中。
为了支持视图绑定,我添加了一些中间抽象类,它们将充当Viewbinding的持有者:将膨胀的视图传递给parent,同时处理viewbinding示例的生命周期,并提供对children的安全访问。我只保留在基类模块中。
现在一切都运行良好,子类能够访问基本视图绑定类,但当我尝试构建项目时,出现了此错误。我不知道为什么会发生这种情况?
(PS例如我在几家分行工作。视图绑定代码位于其中一个分支中。上周我做了这个代码,构建并运行,它正在工作。然后我换了个分支,开始做其他的事情。这个星期,我回到同一个分支,代码没有构建)

bvjxkvbb

bvjxkvbb1#

谢谢大家。我将构建环境从staging更改为debug,它工作了。现在需要解决一个较新的问题,即为什么构建环境不起作用。

khbbv19g

khbbv19g2#

当我遇到这些类型的问题时,我感觉Gradle认为一切都很好,而事实并非如此,并且正在跳过任务。所以我强制Gradle在命令行上使用此选项重新运行所有任务:

--rerun-tasks

相关问题