Forçar localidade para o sabor Android com resConfig
Estou tentando usar o resConfig e resConfigs do sistema Android Build.
Android Studio versão 1.2.2Gradle build version 1.2.3OSX 10.10.3Eu estava tendo problemas com essas 2 opções no meu projeto, então iniciei um novo projeto em branco no android studio. Anexei meu build.gradle, onde apenas adicionei resConfigs "en", "fr" em
android {
defaultConfig {
...
resConfigs "en", "fr"
...
}
}
E definiu 2 sabores básicos
productFlavors {
fr {
resConfig "fr"
}
en {
resConfig "en"
}
}
Criei então 2 arquivos strings.xml e traduzi o rótulo padrão hello_world
/src/main/res/values/strings.xml (padrão)
/src/main/res/values-en/strings.xml
/src/main/res/values-fr/strings.xml
Com isso, eu esperaria ver apenas 3 pastas de valores em MyApplication / app / builds / intermediates / res / en / debug desde que eu defini no resConfigs usar apenas "en" e "fr" e filtrar qualquer outra coisa
/ values /
/ values-pt /
/ valores-fr /
Embora todas as pastas de valores de idiomas ainda estejam lá, o resConfigs não está filtrando nada aparentemente.
Eu também esperaria ver o rótulo hello_world de values-en ao executar a variante de sabor enDebug, pois especifiquei que o sabor en usaria resConfig "en" embora, ao executar o aplicativo de teste, veja o rótulo de / values-fr / strings. xml em vez de /values-en/strings.xml, pois o idioma no tablet está configurado como francês Canadá
Estou entendendo mal o propósito por trás do resConfig? Em caso afirmativo, como devo forçar um sabor a ser executado apenas no idioma e não depender da configuração de localidade do SO? Essa solução também deve ser compatível com o saborDimensions, pois eu os uso no aplicativo real que estou tentando configurar.
NOTA: Também registrei um bug, pois acho que realmente há um problema com esse comportamento resConfighttps://code.google.com/p/android/issues/detail?id=180694
obrigado