Closed LomoLin closed 5 years ago
说明 base 已经生成了 BaseLazyFragment_MembersInjector 这个类,你的业务组件又生成了一个叫 BaseLazyFragment_MembersInjector 的类,导致冲突了,自己检查下依赖关键,Dagger 为什么会生成两个 BaseLazyFragment_MembersInjector
@LomoLin 你可以把base块生成的xxx__MembersInjector复制到base块中,应该是Dagger不知道生成时机导致的。
我直接在base中写了一个针对BaseLazyFragment的空实现 https://github.com/google/dagger/issues/955
@LomoLin 我遇到了和你一样的问题,发现如果要基于arms中的BaseFragment或BaseActivity去实现一个子类,比如带标题栏或是自动分页,放在依赖于arms的模块中,如果项目有多个module,Dagger都会生成多个 BasexxxFragment_MembersInjector,从而报 Program type already present。我以为是依赖关系,尝试多次都没解决,最终用@miaoMiaoDaShi 的方案解决了,请问你的方案具体是怎样实现的?
我直接在base中写了一个针对BaseLazyFragment的空实现 这样还是存在
在me.jessyan.armscomponent.commonres.base中,BaseLazyFragment继承BaseFragment,然后在其他业务组件(两个或两个以上的业务module)模块下去实现BaseLazyFragment,编译后出现Error: Program type already present: me.jessyan.armscomponent.commonres.base.BaseLazyFragment_MembersInjector