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