如果我使用匕首,如何替换sdk为接口提供的绑定
示例:
interface Dependency {}
class DefaultSDKDependencyImpl implements Dependency{}
@Module
class sdkModule1 {
@Binds dependency bindsDependency(DefaultSDKDependencyImpl x);
}
@Componet
sdkComponent(includes = {sdkmodule1, sdkmodule2}) {}
如果Dependency接口的绑定已经存在sdk组件,我如何用CustomDependencyImpl替换它?
我知道的选项:
1)扩展sdkmodule1(文档https://google.github.io/dagger/testing不推荐)
2)创建自定义组件而不在客户端上包括sdkmodule,这种方法可能对我们不起作用,因为sdk可能已经将此模块包括了其他模块依赖项,例如
@Module(includes=sdkmodule1)
sdkmodule2 {}
对此有什么解决办法吗?