Verwenden von Build Flavours - Strukturieren von Quellordnern und build.gradle ordnungsgemäß

Bitte beachten Sie: Antwort bearbeitet nach Xaviers Antwort

Ich versuche es anders zu benutzenErstellen Sie Aromen für ein und dasselbe Anwendungsprojekt in Android Studio. Es scheint mir jedoch eine schreckliche Zeit zu sein, es so zu konfigurieren, dass es richtig funktioniert.

Schritte:

Erstellen Sie ein neues Android Studio-Projekt mit dem Namen "Test".

Öffne build.gradle * und füge folgende Zeilen hinzu:

productFlavors {
flavor1 {
    packageName 'com.android.studio.test.flavor1'
    }
flavor2 {
    packageName 'com.android.studio.test.flavor2'
    }
}
Nach dem Neustart von Android Studio sehe ich jetzt4 Build-Varianten im Abschnitt Build-Varianten. Dies bedeutet, dass wir die Produktaromen bisher erfolgreich eingestellt haben. **

Erstellt einen neuen Quellordner fürflavor1; Ich bin mir jedoch nicht sicher, ob ich es richtig mache. So habe ich es gemacht:

Denken Sie daran, dass mein Paketname für dieses Projekt lautet:com.foo.testKlicken Sie mit der rechten Maustaste auf diesrc Ordner, für Flavour1 habe ich die einzelnen Ordner im Explorer tatsächlich so erstellt, wie es die Struktur istsrc/flavor1/java/com/foo/test/MainActivity.java.Das oben Genannte hat gut funktioniert, da sich der 'Java'-Ordner in befindetBlauDies bedeutet, dass die IDE ein aktives Quellverzeichnis kennt. Außerdem wurde das Paket automatisch erstellt. Trotzdem erhalte ich eine Warnung, dass eine doppelte Klasse gefunden wurde.Siehe Screenshot hier.Für Flavour2 habe ich versucht, das Paket manuell zu erstellen, aber der Ordner 'src' für Flavour2 scheint nicht blau zu sein. Daher sind die Optionen beim Klicken mit der rechten Maustaste unterschiedlich und 'Neues Paket' steht mir nicht zur Verfügung.Siehe Bild hier.Beachten Sie, dass ich für Flavour1 auch ein "res" -Verzeichnis erstellt habe, das zwar blau wird, jedoch nicht die Möglichkeit bietet, eine Android-Ressourcendatei oder ein Andorid-Ressourcenverzeichnis zu erstellen, falls ich ein anderes verwenden möchte resoruces für verschiedene aromen.

Mache ich etwas falsch? Oder vermisse ich etwas? Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

* Mein Projekt scheint zu habenzwei build.gradle Dateien. Einer im Stammverzeichnis des Projektordners (\ GradleTest) ist leer. Der zweite Ordner befindet sich im Stammverzeichnis eines Unterordners von \ GradleTest, der auch als 'GradleTest' (GradleTest-GradleTest) bezeichnet wird. Dies ist der Ordner, dessen Code bereits beim Öffnen vorhanden war. Daher ist dies der, den ich bearbeitet habe.

** Ich habe die Gradle-Einstellungen überprüft und anscheinendVerwenden Sie den automatischen Import warbereits aktiviert. Trotzdem nehmen Sie Änderungen an der build.gradle-Datei vorwird nicht automatisch aktualisiert die Bauvarianten.Hinweis: Ich habe auch versucht, Build - Rebuild Project und / oder Build - Make Project zu verwenden. Ich muss das Projekt noch schließen und erneut öffnen, damit die Änderungen wirksam werden.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage