gpt4 book ai didi

android - Dagger2- 切换不同风格的依赖关系 : Android Studio

转载 作者:行者123 更新时间:2023-11-30 00:41:40 25 4
gpt4 key购买 nike

我正在使用 Dagger 2,并希望使用它为 Android Studio 中的不同构建风格注入(inject)不同的依赖项。

public class DemoApplication extends Application{

AppComponent component;

@Override
public void onCreate() {
super.onCreate();

component = DaggerAppComponent.builder().module(new Module()).build();
}
}


@Module
public class Module {

@Provides
@Singleton
public ClassA provideClassA(){
return new ClassA();
}
}



@Component (modules = {Module.class})
public interface AppComponent {

ClassA getClassA();

}

现在假设我希望在产品风格中返回 ClassA 的对象,而在调试风格中返回 ClassB 的对象(从 ClassA 扩展)。

最佳答案

使用特定风格的源集

例如,让我们考虑模拟生产 风格。创建 mockproduction 目录并将它们放在 main 旁边,在两个 中放置一个名为 Module 的单独类mockproduction 目录(包也必须相同)。这样,当您切换构建变体时,编译器将引用 mockproduction 风格中的 Module 类,允许您根据风格注入(inject)不同的实现。

在源集上查看此引用:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Sourcesets-and-Dependencies

这个答案也可能有帮助:How the flavor-specific variants are working?

关于android - Dagger2- 切换不同风格的依赖关系 : Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42475513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com