Force Gebietsschema für Android-Version mit resConfig

Ich versuche, resConfig und resConfigs aus dem Android Build-System zu verwenden.

Android Studio Version 1.2.2Gradle Build Version 1.2.3OSX 10.10.3

Ich hatte Probleme mit diesen beiden Optionen in meinem Projekt, also habe ich ein neues leeres Projekt mit Android Studio gestartet. Ich habe mein build.gradle angehängt, wo ich nur resConfigs "en", "fr" unter @ hinzugefügt hab

android { 
   defaultConfig {
        ...
        resConfigs "en", "fr" 
        ...
   }
}

Und definiert 2 Grundgeschmacksrichtungen

productFlavors {
        fr {
            resConfig "fr"
        }

        en {
            resConfig "en"
        }
}

Ich habe dann 2 strings.xml-Dateien erstellt und das Standard-Label "hello_world" übersetzt

/ src / main / res / values / strings.xml (Standard)
/ src / main / res / values-de / strings.xml
/ src / main / res / values-fr / strings.xml

Damit würde ich erwarten, dass in MyApplication / app / builds / intermediates / res / en / debug nur 3 Werteordner angezeigt werden, da ich in den resConfigs definiert habe, nur "en" und "fr" zu verwenden und alles andere zu filtern

/Werte
/ values-de /
/ values-fr /

Obwohl der Ordner mit den Sprachwerten immer noch vorhanden ist, filtert resConfigs anscheinend nichts.

Ich würde auch erwarten, das Label hello_world von values-en zu sehen, wenn enDebug flavour variant ausgeführt wird, da ich angegeben habe, dass die Flavour en resConfig "en" verwendet, obwohl ich beim Ausführen der Test-App das Label von / values-fr / strings sehe .xml anstelle von /values-de/strings.xml, da die Sprache auf dem Tablet wie folgt konfiguriert ist: French Canada

Bin ich missverstanden den Zweck hinter resConfig? Wenn ja, wie soll ich erzwingen, dass eine Version nur in der Sprache ausgeführt wird und nicht von der Ländereinstellung des Betriebssystems abhängig ist? Diese Lösung muss auch mit FlavorDimensions kompatibel sein, da ich sie in der eigentlichen App verwende, die ich zu konfigurieren versuche.

HINWEI: Ich habe auch einen Fehler gemeldet, da ich denke, dass es wirklich ein Problem mit diesem resConfig-Verhalten gibt.https: //code.google.com/p/android/issues/detail? id = 180694

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage