Метод resValue
(или все, что он вызывает) позволяет вам установить значение ресурса в buildTypes
или productFlavors
. Есть ли соответствующий способ получить значение ресурса, которое было установлено resValue
?
Похоже, что productFlavors
оценивается до buildTypes
, поэтому a resValue
, установленный в buildTypes
, имеет приоритет. Я хочу добавить "Debug" к имени приложения в сборках отладки, но мне нужно получить значение, которое было настроено в цвете продукта, чтобы добавить к нему.
Изменить: Я попробовал предложение Marcin Koziński использовать переменную, но все вкусы продукта оцениваются до любого типа сборки. Поэтому это не работает:
android {
String appName = ""
productFlavors {
Foo {
appName = "Foo"
}
Bar {
appName = "Bar"
}
}
buildTypes {
release {
resValue "string", "app_name", appName
}
debug {
resValue "string", "app_name", appName + " Debug"
}
}
}
В buildTypes
, appName
всегда имеет значение из последнего вкуса продукта. Таким образом, в этом примере все сборки получают имя "Bar"
или "Bar Debug"
.
В принципе, мне нужен resValueSuffix
, аналогичный applicationIdSuffix
. По-видимому, такого животного нет. Предоставляет ли плагин com.android.application
все, что я мог бы использовать для достижения этого?