我想知道是否有可能爲特定的風味組提供文件或配置設置組合。例如,我有2個味組,每組2種不同的口味:配置特定的gradle組合
味組:版本
- V2
- V3
味組:類型
- 免費
- 全部
當下令 「類型」, 「版本」 我是能夠建立4種不同的我的應用程序的口味:
- FreeV2
- FreeV3
- FullV2
- FullV3
而我的源碼樹看起來像這樣:
/src
/free
/res
/full
/res
/v2
/java
/res
AndroidManifest.xml (features and permissions for v2 flavors)
/v3
/java
/res
AndroidManifest.xml (features and permissions for v3 flavors)
這正是我想要的,並且對我的項目非常有效。不過,我希望我可以爲特定的風味組合組合提供文件。例如,我想爲FullV3和FullV2提供不同的AndroidManifest。我不認爲這是可能的,或者?例如:
/src
/free
/res
/full
/res
/v2
/java
/res
AndroidManifest.xml (features and permissions for v2 flavors)
/v3
/java
/res
AndroidManifest.xml (features and permissions for v3 flavors)
/fullv3
AndroidManifest.xml (features and permissions for full v3 only!)
/fullv2
AndroidManifest.xml (features and permissions for full v2 only!)
我會很高興,能夠做到這一點的gradle這個構建文件以及:
productFlavors {
free {
packageName ...
flavorGroup "type"
}
full {
packageName ...
flavorGroup "type"
}
v2 {
packageName ...
flavorGroup "version"
}
v3 {
packageName ...
flavorGroup "version"
}
fullv2 {
... <-- specifically for the full-v2 combination
}
fullv3 {
... <-- specifically for the full-v3 combination
}
}
注:一個解決辦法是隻有1個組和定義4種口味明確:
- freeV2
- freeV3
- fullV2
- fullV3
然而,這不是我一個可行的解決方案,因爲我會重複所有的每一個版本的自由和充分的味道版本的特定代碼。
您是否知道在構建中執行特定風味組合的語法文件也是這樣,問題的後半部分? – mm2001
「請注意,這是針對所有維度的所有組合。」 是否有可能使它不適用於所有維度的組合以及其中一些維度的組合? –