Ответ 1
Selvin верен, используйте defaultConfig
close - нет более аккуратного способа!. В следующем примере ароматы 1, 2 и 5 задавали страну и язык по умолчанию de
. Ароматизаторы 3 и 4 переопределяют это своими языками.
defaultConfig {
buildConfigField "String", "country", "de"
buildConfigField "String", "language", "de"
}
buildTypes {
debug {
}
release {
}
}
productFlavors {
flavor1 {
buildConfigField "String", "appName", "Flavor1"
}
flavor2 {
buildConfigField "String", "appName", "Flavor2"
}
flavor3 {
buildConfigField "String", "country", "uk"
buildConfigField "String", "language", "en_GB"
buildConfigField "String", "appName", "Flavor3"
}
flavor4 {
buildConfigField "String", "country", "fr"
buildConfigField "String", "language", "fr"
buildConfigField "String", "appName", "Flavor4"
}
flavor5 {
buildConfigField "String", "appName", name.capitalize()
}
}
Примечание
Просто FYI, который вы можете использовать name.capitalize()
, чтобы превратить имя любого вкуса, например. flavor5
, в имя приложения flavor5
с помощью метода capitalize()
, который будет использовать первый символ в строке. Однако этот ДОЛЖЕН идти в аромате, а не defaultConfig