有没有办法替换绑定匕首?

时间:2019-01-24 20:42:01

标签: java android dependency-injection guice dagger

如果我使用匕首,如何替换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 {}

对此有什么解决办法吗?

0 个答案:

没有答案