Gradle flavorDimensions

情況1:

app中有某個build type但module中沒有

// In the app's build.gradle file.
android {
    buildTypes {
        debug {}
        release {}
        staging {
            // 下面[]中的qa偶翅、debug乘盖、release是module中配置的buildType,必須含有其中一個或更多艘包,
            // 若module中buildType沒有staging渴邦,gradle會根據(jù)matchingFallbacks的配置,
            // 依次按順序去匹配
            // 注意:module與module之間存在依賴關(guān)系的話,也要在特定的build types中指定匹配關(guān)系
            matchingFallbacks = ['qa', 'debug', 'release']
        }
    }
}

注意:module中有但app中沒有的build type是不會報錯的迄委,因?yàn)間radle插件根本不會去module中請求build type

情況2:

在app和它的module中都有同一個維度(比如:flavorDimensions 'tier')类少,但你的app有的flavors在module中沒有

flavorDimensions 'tier'
productFlavors {
    paid {
        // 因?yàn)橐蕾嘺pp的module在'tier'維度下也有'paid'這個flavor跑筝,所以你不用去管,
        // gradle會自動為你匹配
        dimension 'tier'
    }
    free {
        // 因?yàn)閙odule在'tier'維度下沒有'free'這個flavor瞒滴,所以需要指定matchingFallbacks
        // 讓gradle知道怎么去匹配
        // 像下面這樣配置曲梗,gradle會按順序依次去匹配module中'tier'維度下的flavor赞警,
        // 直到匹配到,否則會報錯
        matchingFallbacks = ['demo', 'trial']
    }
}

注意:對于在同一個維度下虏两,module中有的flavors但app中沒有是不會報錯的愧旦,因?yàn)間radle插件根本不會去module中請求flavors。

情況3:

module中有某個dimension維度定罢,但app中沒有

// In the app's build.gradle file.
android {
    defaultConfig{
        // 下面這句話告訴gradle笤虫,當(dāng)遇到一個module中有個app中沒有的'minApi'維度時,
        // 它應(yīng)該按照下面這個順序去匹配這個維度的flavors
        missingDimensionStrategy 'minApi', 'minApi18', 'minApi23'
        // 若其他module中還有更多app中沒有的維度祖凫,你必須為所有的維度定義回退策略
        missingDimensionStrategy 'abi', 'x86', 'arm64'
    }
    flavorDimensions 'tier'
    productFlavors {
        free {
            dimension 'tier'
            // 你可以在一個特定的flavor中覆蓋defaultConfig的配置
            missingDimensionStrategy 'minApi', 'minApi23', 'minApi18'
        }
        paid { }
    }
}

注意:當(dāng)一個維度app中有但module中沒有的時候是不會報錯琼蚯,因?yàn)間radle插件只會匹配已經(jīng)在module中存在的維度,比如module中沒有abi這個維度惠况,當(dāng)app為freeX86Debug時遭庶,你的module就用freeDebug
missingDimensionStrategy 方法其他屬性可以參考官方文檔稠屠。

情況4:

若module中沒有某個dimension峦睡,則app不需要在這個dimension下做任何處理


其他:

1、排除掉某些不需要的變體

variantFilter { variant ->
    def names = variant.flavors*.name
    def types = variant.buildType.name
    if (names.contains("abi") && types == "debug") {
        // Gradle ignores any variants that satisfy the conditions above.
        setIgnore(true)
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末权埠,一起剝皮案震驚了整個濱河市榨了,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌攘蔽,老刑警劉巖龙屉,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異满俗,居然都是意外死亡叔扼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門漫雷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓜富,“玉大人,你說我怎么就攤上這事降盹∮敫蹋” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵蓄坏,是天一觀的道長价捧。 經(jīng)常有香客問我,道長涡戳,這世上最難降的妖魔是什么结蟋? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮渔彰,結(jié)果婚禮上嵌屎,老公的妹妹穿的比我還像新娘推正。我一直安慰自己,他們只是感情好宝惰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布植榕。 她就那樣靜靜地躺著,像睡著了一般尼夺。 火紅的嫁衣襯著肌膚如雪尊残。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天淤堵,我揣著相機(jī)與錄音寝衫,去河邊找鬼。 笑死拐邪,一個胖子當(dāng)著我的面吹牛慰毅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播庙睡,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼技俐!你這毒婦竟也來了乘陪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤雕擂,失蹤者是張志新(化名)和其女友劉穎啡邑,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體井赌,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谤逼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了仇穗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片流部。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖纹坐,靈堂內(nèi)的尸體忽然破棺而出枝冀,到底是詐尸還是另有隱情,我是刑警寧澤耘子,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布果漾,位于F島的核電站,受9級特大地震影響谷誓,放射性物質(zhì)發(fā)生泄漏绒障。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一捍歪、第九天 我趴在偏房一處隱蔽的房頂上張望户辱。 院中可真熱鬧鸵钝,春花似錦、人聲如沸焕妙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焚鹊。三九已至痕届,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間末患,已是汗流浹背研叫。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留璧针,地道東北人嚷炉。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像探橱,于是被迫代替她去往敵國和親申屹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容