我正在使用方法为 Dagger 提供模块,在这个问题Android Customize Workflow for Product Flavors的回答中描述
我们的方法有点不同——我们有构建类型 inModules
和构建类型 in 。我们的主要模块被称为它包括所有其他。debug
src/debug/java
release
src/release/java
ApplicationModule
Modules
insrc/debug/java
为调试、日志记录等和覆盖提供了一些自定义行为ApplcationModule
。
现在我们需要有基于应用程序风格的自定义行为。
这样做的正确方法是什么?
例如,风味 A 到 C 应该提供自定义行为,而风味 D 到 F 应该提供基本的默认行为。
到目前为止,我想出了这样的。
- 所有口味(不是构建类型)在
src/flavorX/java/com.application.FlavorModule
- 为了避免代码重复,只有风味 A 到 C 提供自定义行为,而其他完全空的,以便项目可以编译。我的模块提供了默认行为
src/main/java
有没有更好的方法来达到这样的结果?因为我不喜欢空src/flavorX/java/com.application.FlavorModule
,也不喜欢重复代码……