在库模块中使用基于Productflavor的依赖项

时间:2019-05-02 06:23:41

标签: android android-productflavors

我正在创建一个基于库的应用程序。想法是将根据产品口味提供Google,Here,Baidu等地图提供商。由于所有调用都将基于接口,因此将来风味可以选择其他地图提供程序。

我有4种产品口味

 europe {...}  
  row{...} 
  china{...} 
  usa{...} 

我创建了一个图书馆项目,负责处理所有与地图相关的功能。

请在下面找到我的项目结构格式- enter image description here

我已将所有模块添加到settings.gradle文件中。 在我的主应用程序依赖中,我将libray模块添加为

dependencies {
    implementation project(":mapinterfaces")
...
}

我想将基于产品风味的依赖项包括为

dependencies {
    implementation project(":mapinterfaces")
    ...    
    rowCompile 'com.google.android.gms:play-services-maps:16.1.0'    

}

现在的问题是我的mapInterface将如何访问这些依赖项。

我不希望两个模块都包含相同的依赖项。

  • 我是否也应该在地图界面模块中创建产品口味,并在地图界面模块中包含基于产品口味的依存关系?这是个好习惯吗?
  • 是否应该删除库模块,并在不同的产品风格中包含提供程序特定的代码?

0 个答案:

没有答案