Я пытаюсь использовать resConfig и resConfigs из системы Android Build.
- Android Studio версии 1.2.2
- Gradle версия для сборки 1.2.3
- OSX 10.10.3
У меня возникла проблема с этими двумя вариантами с моим проектом, поэтому я начал новый пустой проект с помощью студии Android. Я прикрепил свой build.gradle, где я только добавил resConfigs "en" , "fr" в
android {
defaultConfig {
...
resConfigs "en", "fr"
...
}
}
И определили 2 основных аромата
productFlavors {
fr {
resConfig "fr"
}
en {
resConfig "en"
}
}
Затем я создал 2 файла strings.xml и перевел метку по умолчанию hello_world
/src/main/res/values/strings.xml(по умолчанию)
/src/main/res/values-en/strings.xml
/src/main/res/values-fr/strings.xml
С этим я бы ожидал увидеть только 3 папки значений в MyApplication/app/builds/intermediates/res/en/debug, так как я определил в resConfigs только для использования "en" и "fr" и фильтрации чего-либо еще
/values /
/values-en/
/Значения-пт/
Хотя все папки значений языков все еще находятся там, поэтому resConfigs ничего не фильтрует.
Я также ожидал увидеть ярлык hello_world от значений-en при запуске варианта вкуса enDebug, так как я указал, что аромат en будет использовать resConfig "en" , хотя, когда я запускаю тестовое приложение, я вижу метку от /values -fr/strings.xml вместо/values-en/strings.xml, так как язык на планшете настроен как французский Канада
Неужели я неправильно понимаю цель resConfig? Если да, то как я могу заставить аромат работать только на языке и не зависит от настройки локали ОС? Это решение должно быть совместимо с flavorDimensions, так как я использую их в реальном приложении, которое я пытаюсь настроить.
ПРИМЕЧАНИЕ. Я также зарегистрировал ошибку, так как я думаю, что действительно существует проблема с этим поведением resConfig https://code.google.com/p/android/issues/detail?id=180694
Спасибо