Kontext:
Ich versuche, Google Analytics für meine App einzurichten. (mit 4 benutzerdefinierten buildTypes
und mehr als ein paar productFlavors
)
Es funktioniert gut, wenn ich das auswähle Build Variant
, auf das applicationId
gesetzt ist com.my.app.package.name
(der Paketname, der beim Generieren des verwendet wird google-services.json
). Aber meine anderen Geschmacksrichtungen haben andere Anwendungs-IDs.
Ich folgte dem offiziellen Devguide , um es einzurichten.
Fehler, den ich bekomme, wenn eine andere Build-Variante ausgewählt wird Build Variants Tab
(die einen anderen applicationId
(Paketnamen) hat, ist wie folgt:
Fehler: Ausführung für Aufgabe ': app: processAllcategoriesDebugfreeGoogleServices' fehlgeschlagen.
Für den Paketnamen 'com.my.app.package.name.debug' wurde kein passender Client gefunden.
Erläuterung der Fehlermeldung:
Im Aufgabennamen in der obigen Fehlermeldung Debugfree
ist meine Gewohnheit buildType
und Allcategories
eine meiner productFlavors
.
Ich verstehe den Fehler und weiß, dass der Paketname sich von dem unterscheidet, den ich beim Generieren des JSON verwendet habe, aber genau das versuche ich zu umgehen.
Problem:
Jetzt google-services.json
befindet sich der app
Ordner im Ordner, und daher kann ich sie nicht für jeden Produktgeschmack trennen, indem ich sie in den geschmacksspezifischen Quellensatzordner lege.
Fragen:
- Meine Gewohnheit
byildType
zum Debuggen von Suffixen.debug
anapplicationId
(Paketname). Gibt es eine Möglichkeit, wie ich es mit dem machen kann,google-services.json
das meine Version hatapplicationId
(dh ohne das Suffix.debug
) ? - Gibt es eine Möglichkeit, mehrere Produktvarianten in derselben
google-services.json
Datei zu konfigurieren, ohne separate Dateien und Aufgaben zum Kopieren der erforderlichen Datei in einenapp
Ordner zu verwenden ? Ich weiß, dass diestask
wie in diesem Beitrag erwähnt möglich ist . Gibt es eine einfachere Möglichkeit, nur eine Datei zu haben oder die richtige Datei basierend auf der Gradle-Konfiguration auszuwählen? - Ich sehe, dass das
package_name
Feld ingoogle-services.json
den Paketnamen hatcom.my.app.package.name
. Kann ich mehrere Paketnamen manuell hinzufügen, um für alle Build-Varianten zu arbeiten? Wenn ja, wie geht das? In den Dokumentationen konnten keine Anweisungen gefunden werden.