我的当前配置:
Gradle Version:4.4
Android Plugin Version:3.1.2
如果是application,大家都知道怎么配置productFlavors,但是library就有人不知道了,网上这部分资料比较少,根据本人心得整理如下:
首先配置library的productFlavors:
1. 在library中的android标签下的defaultConfig标签下添加以下代码:
flavorDimensions "dimensionName"
其中dimensionName是高版本gradle中配置productFlavors需要添加的,名字自定义,但是需要在productFlavors中给dimension配置相同的名称,这里我们设置为dimensionName
2. 在library中的android标签下添加以下代码:
productFlavors {
flavorsA { dimension "dimensionName" }
flavorsB { dimension "dimensionName" }
}
其中dimensionName是在第1步中配置的名称
然后说如何使用
假设我们的application项目Module名称叫做app,在app的build.gradle文件中,添加上面1和2相同步骤的代码,然后在dependencies标签中添加上面library的依赖即可,假如上面library的Module名字叫做myLibrary,在dependencies里这么添加:
implementation project(':myLibrary')
备注:之前有文章说需要写成类似下面的代码形式
flavorsAImplementation project(':myLibrary')
flavorsBImplementation project(':myLibrary')
但是经过本人测试发现并不需要这样,app在依赖myLibrary的时候并不需要在implementation或者api前面加上flavors的名字,而且在切换app的productFlavors的时候myLibrary的productFlavors也可以联动