Kontext:
Ich versuche, Google Analytics für meine App einzurichten. (mit 4 benutzerdefinierten buildTypesund mehr als ein paar productFlavors)
Es funktioniert gut, wenn ich das auswähle Build Variant, auf das applicationIdgesetzt 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 Debugfreeist meine Gewohnheit buildTypeund Allcategorieseine 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.jsonbefindet sich der appOrdner im Ordner, und daher kann ich sie nicht für jeden Produktgeschmack trennen, indem ich sie in den geschmacksspezifischen Quellensatzordner lege.
Fragen:
- Meine Gewohnheit
byildTypezum Debuggen von Suffixen.debuganapplicationId(Paketname). Gibt es eine Möglichkeit, wie ich es mit dem machen kann,google-services.jsondas meine Version hatapplicationId(dh ohne das Suffix.debug) ? - Gibt es eine Möglichkeit, mehrere Produktvarianten in derselben
google-services.jsonDatei zu konfigurieren, ohne separate Dateien und Aufgaben zum Kopieren der erforderlichen Datei in einenappOrdner zu verwenden ? Ich weiß, dass diestaskwie 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_nameFeld ingoogle-services.jsonden 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.
