我的应用程序包含两种产品口味:free和pro。我有ApplicationModule
提供广告对象,但只有免费版本才需要此对象,因为专业版没有com.google.android.gms:play-services-ads:8.3.0
依赖项。如何构建我的项目,以便仅在使用免费产品风格时ApplicationModule
提供广告对象?
答案 0 :(得分:1)
由于你有两种产品口味,我假设免费版本的版本在正确的版本结构中,在主要版本之外。资源集。我假设您有另一个付费版本的资源集。
因此,初始化主源集内的dagger组件,但是ApplicationModule驻留在每个flavor源集中。该模块是提供者,因此如果您想要更改依赖关系,您可以通过定义不同的提供者,即使两个源集(付费,非付费)在每个提供者中都具有相同的ApplicationModule。