Gradle erhält den aktuellen Geschmack für eine bestimmte Aufgabe

8

Ich versuche, mit google-services.json und verschiedenen Geschmacksrichtungen umzugehen. Die Dokumentation besagt, dass wir die Datei im Stammordner benötigen.

Ich habe eine Aufgabe, die die Datei einfach aus dem Flavor-Ordner in den Root-Ordner kopieren kann:

%Vor%

Dann, in der AfterEvaluate, erzwinge ich

%Vor%

Dies funktioniert nur für 1 Flavor (statisch definiert). Wie macht man das für jeden Geschmack? Ich habe 4 Geschmacksrichtungen. Wie bekomme ich den aktuellen Geschmack, der kompiliert wird?

[ UPDATE 1 ] - Auch versucht:

%Vor%

Aber das kopiert nicht die richtige Datei. Irgendwelche Hilfe?

    
Nunes D. 18.09.2015, 17:30
quelle

2 Antworten

5

Ein Weg, um einen Ordner mit dem Namen "google-services" in jedem Flavor zu erstellen, der sowohl die Debug-Version als auch die Release-Version der JSON-Datei enthält:

Fügen Sie im Abschnitt buildTypes Ihrer Gradle-Datei Folgendes hinzu:

%Vor%

Es wird automatisch die richtige json-Datei im Stammverzeichnis Ihres App-Moduls kopiert, wenn Sie die Build-Variante wechseln.

Fügen Sie die beiden aufgerufenen Methoden hinzu, um den aktuellen Typ und den aktuellen Build-Typ im Stammverzeichnis von build.gradle

abzurufen %Vor%

Basierend auf dieser Antwort

    
FallasB 03.02.2016 09:27
quelle
1

Ich habe meine Antwort gefunden. Google unterstützt schließlich verschiedene google-services.json pro Flavor. Sie müssen das Plugin nur auf com.google.gms: google-services: 2.0.0 aktualisieren. Es ist nicht notwendig, die JSON-Datei in den App-Ordner zu kopieren, sondern legen Sie einfach Ihre google-services.json-Dateien in Ihre Build-Flavour-Verzeichnisse.

    
Nunes D. 22.05.2016 23:11
quelle