我的當前配置:
Gradle Version:4.4
Android Plugin Version:3.1.2
如果是application,大家都知道怎么配置productFlavors,但是library就有人不知道了,網(wǎng)上這部分資料比較少,根據(jù)本人心得整理如下:
首先配置library的productFlavors:
1. 在library中的android標簽下的defaultConfig標簽下添加以下代碼:
flavorDimensions "dimensionName"
其中dimensionName是高版本gradle中配置productFlavors需要添加的,名字自定義,但是需要在productFlavors中給dimension配置相同的名稱,這里我們設(shè)置為dimensionName
2. 在library中的android標簽下添加以下代碼:
productFlavors {
flavorsA { dimension "dimensionName" }
flavorsB { dimension "dimensionName" }
}
其中dimensionName是在第1步中配置的名稱
然后說如何使用
假設(shè)我們的application項目Module名稱叫做app,在app的build.gradle文件中,添加上面1和2相同步驟的代碼,然后在dependencies標簽中添加上面library的依賴即可,假如上面library的Module名字叫做myLibrary,在dependencies里這么添加:
implementation project(':myLibrary')
備注:之前有文章說需要寫成類似下面的代碼形式
flavorsAImplementation project(':myLibrary')
flavorsBImplementation project(':myLibrary')
但是經(jīng)過本人測試發(fā)現(xiàn)并不需要這樣,app在依賴myLibrary的時候并不需要在implementation或者api前面加上flavors的名字,而且在切換app的productFlavors的時候myLibrary的productFlavors也可以聯(lián)動