簡體   English   中英

基於風味的gradle依賴版本

[英]Flavor based gradle dependency version

我有一個有很多口味的應用程序: flava1flava2flava3 .....(隨着時間的推移,味道的數量不斷增加)。

該應用程序使用版本XXX的依賴項some-lib 其中一種口味,例如, flava2要求依賴性為XXY版本,而其他口味則繼續使用XXX

我嘗試使用基於flavor的依賴行,如下所示:

dependencies {
  implementation 'com.example:some-lib:X.X.X'
  flava2Implementation 'com.example:some-lib:X.X.Y'
}

但它總會最終使用XXX 我甚至嘗試改變這兩行的順序(首先放置flava2Implementation ),但這也不起作用。

是否有任何其他的方式來做到這一點,而不必明確寫入flava1Implmentationflava3Implmentationflava4Implmentation等等等等比其他所有口味flava2 因為每次添加新的味道時,我們可能會忘記在依賴項中添加一行

我嘗試用dimensions解決這個問題:

flavorDimensions "flav1", "other"
productFlavors {
    flav1 {
        dimension "flav1"
        applicationIdSuffix ".flav1"
    }
    flav2 {
        dimension "other"
        applicationIdSuffix ".flav2"
    }
    flav3 {
        dimension "other"
        applicationIdSuffix ".flav3"
    }

    forOther {
        dimension "other"
    }

}

然后我們可以只為forOther添加實現

 implementation 'com.example:some-lib:X.X.X'
flav1Implementation 'com.example:some-lib:X.X.Y'

forOtherImplementation 'com.example:some-lib:Z.Z.Z'

因為forOther/ <included in flav2/flav3>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM