Скажем, у меня есть константа, определенная на обоих уровнях: в типе сборки я устанавливаю ее в «mybuild», и в аромате я устанавливаю ее на «myflavor».Что имеет преимущество, типы сборки или ароматы Gradle?
Такие, как здесь:
buildTypes {
debug {
resValue "string", "analytics_key", "XXX_SANDBOX_KEY_XXX"
}
}
productFlavors {
appA {
resValue "string", "analytics_key", "XXX_KEY_FOR_A_XXX"
}
appB {
resValue "string", "analytics_key", "XXX_KEY_FOR_A_XXX"
}
}
Я хочу, чтобы отправить событие различных приложений (thta есть, ароматизаторы) на различные счета в моей аналитической платформе. Но, если я отлаживаю, я хочу отправить их всем в мою учетную запись sandbox.
Оригинальный вопрос: что имеет преимущество? Из моего теста я уже могу ответить на это: тот, что есть в типе сборки.
Тем не менее, тем интереснее: это гарантировано?
(Или есть лучший способ сделать это?)
@espinchi: «если я не использую ресурсы XML, или если я их смешиваю (как я и предполагал) »- я определенно не буду использовать ресурсы« resValue »и« real »для одного и того же типа и имени ресурса, поскольку я скорее сомневаюсь, что это ожидаемый шаблон использования. Однако, если что-либо, использование только файлов ресурсов должно быть более безопасным, поскольку это поведение явно документировано.Каков ваш сценарий, когда это не работает? – CommonsWare
(Извините, я удалил свой предыдущий комментарий по ошибке.) Да, использование только ресурсов работает по назначению, и конечный результат на самом деле более читабельен. Первоначально я хотел сделать переопределение более явным в файле build.gradle, но я вижу, что это не нужно. – espinchi