[英]Flavor based gradle dependency version
我有一個有很多口味的應用程序: flava1
, flava2
, flava3
.....(隨着時間的推移,味道的數量不斷增加)。
該應用程序使用版本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
),但這也不起作用。
是否有任何其他的方式來做到這一點,而不必明確寫入flava1Implmentation
, flava3Implmentation
, flava4Implmentation
等等等等比其他所有口味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.