| Plattform auswählen : | iOS+ Android Flutter Unity |
Standardmäßig instrumentiert Firebase Crashlytics Ihr Flutter Projekt automatisch, um die erforderlichen Symboldateien hochzuladen. So wird sichergestellt, dass Absturzberichte offengelegt und für Menschen lesbar sind.
Es gibt jedoch Fälle, in denen das Projekt möglicherweise nicht vollständig konfiguriert ist. In dieser Anleitung wird beschrieben, was die Automatisierung bewirkt, und es werden erste Schritte zur Fehlerbehebung bei der Projekteinrichtung erläutert.
Apple-Plattformen
Konfiguration für das Hochladen von dSYM-Dateien prüfen
Wenn Sie das Crashlytics Flutter-Plug‑in hinzufügen und den
flutterfire configure Befehl ausführen, wird versucht, dem
Xcode-Arbeitsbereich Ihres Projekts ein Ausführungsskript hinzuzufügen, das die erforderlichen dSYM-Symboldateien sucht und
in Crashlytics hochlädt. Ohne diese Dateien wird im Crashlytics-Dashboard eine Warnung „Fehlende dSYM-Datei“ angezeigt und Ausnahmen werden vom Backend zurückgehalten, bis die fehlenden Dateien hochgeladen wurden.Crashlytics
Wenn dieses Problem auftritt, prüfen Sie zuerst, ob das Ausführungsskript installiert ist:
Suchen und öffnen Sie die Xcode-Arbeitsbereichsdatei im iOS-Verzeichnis Ihres Projekts (
FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).Prüfen Sie, ob den Build-Phasen des Runner-Ziels ein Ausführungsskript mit dem Titel
[firebase_crashlytics] Crashlytics Upload Symbolshinzugefügt wurde.Im entsprechenden Abschnitt unten erfahren Sie, ob das Ausführungsskript nicht vorhanden ist oder das Ausführungsskript vorhanden ist.
Versionskonfiguration für Flutter und Crashlytics (wenn das Flag --split-debug-info verwendet wird)
Wenn in Ihrem Flutter-Projekt das Flag --split-debug-info und optional auch das Flag --obfuscate verwendet wird, sind zusätzliche Schritte erforderlich, um lesbare Stacktraces für Ihre App anzuzeigen.
Achten Sie darauf, dass in Ihrem Projekt die empfohlene Versionskonfiguration verwendet wird (Flutter 3.12.0 oder höher und Crashlytics Flutter-Plug‑in 3.3.4 oder höher), damit in Ihrem Projekt automatisch Flutter-Symbole (dSYM-Dateien) generiert und in Crashlyticshochgeladen werden können.
Android
Abhängigkeitskonfiguration prüfen
Mit dem Befehl flutterfire configure wird versucht, den Gradle-Build-Dateien Ihres Projekts die erforderlichen Abhängigkeiten hinzuzufügen. Ohne diese Abhängigkeiten werden Absturzberichte in
der Firebase Console möglicherweise verschleiert, wenn die Verschleierung aktiviert ist.
Achten Sie darauf, dass die folgenden Zeilen in der build.gradle-Datei auf Projektebene und in der build.gradle-Datei auf App-Ebene vorhanden sind:
Prüfen Sie in der Build-Datei auf Projektebene (
android/build.gradle) die folgende Zeile:dependencies { // ... other dependencies classpath 'com.google.gms:google-services:4.3.5' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' }Prüfen Sie in der Build-Datei auf App-Ebene (
android/app/build.gradle) die folgende Zeile:// ... other imports android { // ... your android config } dependencies { // ... your dependencies } // This section must appear at the bottom of the file apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics'
Prüfen, ob Sie die CLI zum Hochladen von Flutter-Symbolen verwenden (wenn das --split-debug-info Flag verwendet wird)
Wenn in Ihrem Flutter-Projekt das Flag --split-debug-info und optional auch das Flag --obfuscate verwendet wird, sind zusätzliche Schritte erforderlich, um lesbare Stacktraces für Ihre App anzuzeigen.
Verwenden Sie die Firebase CLI (Version 11.9.0 oder höher), um Flutter-Debug Symbole hochzuladen. Sie müssen die Debug-Symbole hochladen , bevor Sie einen Absturz aus einem verschleierten Code-Build melden.
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID: Ihre Firebase Android-App-ID (nicht Ihr Paketname)
Beispiel für eine Firebase Android-App-ID:1:567383003300:android:17104a2ced0c9b9bPATH/TO/symbols: Dasselbe Verzeichnis, das Sie beim Erstellen der Anwendung an das--split-debug-infoFlag übergeben
Wenn die Probleme weiterhin bestehen, lesen Sie die Android-spezifische Anleitung zur Fehlerbehebung bei verschleierten Berichten.