Erstellen Sie das Tow-Projekt mit Dev und Produktionsumgebung auf der Firebase. Laden Sie die JSON-Datei von thre herunter
und richten Sie das SDK gemäß https://firebase.google.com/docs/android/setup oder für Crashlytics ein: https://firebase.google.com/docs/crashlytics/get-started?platform=android
Platzieren Sie zunächst die entsprechende Datei google_services.json für jeden buildType an den folgenden Speicherorten:
app/src/debug/google_services.json
app/src/test/google_services.json
app/google_services.json
Hinweis: Root-App / google_services.json Diese Datei sollte gemäß den Build-Varianten vorhanden sein. Kopieren Sie den JSON-Code in die Root-JSON-Datei
Lassen Sie uns nun einige Gradle-Aufgaben in build.gradle Ihrer App ausführen, um das Verschieben der entsprechenden Datei google_services.json nach app / google_services.json zu automatisieren
Kopieren Sie dies in die App / Gradle-Datei
task switchToDebug(type: Copy) {
description = 'Switches to DEBUG google-services.json'
from "src/debug"
include "google-services.json"
into "."
}
task switchToRelease(type: Copy) {
description = 'Switches to RELEASE google-services.json'
from "src/release"
include "google-services.json"
into "."
}
Großartig - aber diese Aufgaben manuell ausführen zu müssen, bevor Sie Ihre App erstellen, ist umständlich. Wir möchten, dass die oben genannte Kopieraufgabe irgendwann ausgeführt wird: assembleDebug oder: assembleRelease wird ausgeführt. Mal sehen, was passiert, wenn: assembleRelease ausgeführt wird: Kopieren Sie dieses in die Datei / gradlew
Zaks-MBP:my_awesome_application zak$ ./gradlew assembleRelease
Parallel execution is an incubating feature.
.... (other tasks)
:app:processReleaseGoogleServices
....
:app:assembleRelease
Beachten Sie die Aufgabe: app: processReleaseGoogleServices. Diese Aufgabe ist für die Verarbeitung der Stammdatei google_services.json verantwortlich. Wir möchten, dass die korrekte Datei google_services.json verarbeitet wird, daher müssen wir unsere Kopieraufgabe sofort im Voraus ausführen. Fügen Sie dies Ihrem build.gradle hinzu. Beachten Sie das AfterEvaluate-Gehäuse.
Kopieren Sie dies in die App / Gradle-Datei
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
Jetzt wird jederzeit aufgerufen: app: processReleaseGoogleServices, unsere neu definierte: app: switchToRelease wird vorher aufgerufen. Gleiche Logik für das Debuggen von buildType. Sie können Folgendes ausführen: app: assembleRelease und die Release-Version google_services.json werden automatisch in den Stammordner Ihres App-Moduls kopiert.