| Plattform auswählen : | iOS+ Android Flutter Unity |
Standardmäßig instrumentiert Firebase Crashlytics Ihr Flutter Projekt automatisch, um die erforderlichen Symboldateien hochzuladen, damit Absturzberichte deobfuskiert und für Menschen lesbar sind.
Leider gibt es Fälle, in denen das Projekt nicht vollständig konfiguriert werden kann. In diesem Leitfaden 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 Back-End
zurückgehalten, bis die fehlenden Dateien hochgeladen wurden.
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 Ihr Flutter-Projekt das Flag --split-debug-info (und optional auch das Flag --obfuscate) verwendet, sind zusätzliche Schritte erforderlich, um lesbare Stacktraces für Ihre App anzuzeigen.
Achten Sie darauf, dass Ihr Projekt die empfohlene Versionskonfiguration verwendet (Flutter 3.12.0 und höher und Crashlytics Flutter-Plug‑in 3.3.4 und höher), damit Ihr Projekt Flutter-Symbole (dSYM-Dateien) automatisch generieren und in Crashlyticshochladen kann.
Android
Abhängigkeitskonfiguration prüfen
Mit dem Befehl flutterfire configure werden versucht, die erforderlichen Abhängigkeiten zu den Gradle-Build-Dateien Ihres Projekts hinzuzufügen. Ohne diese Abhängigkeiten können Absturzberichte in
der Firebase Console obfuskiert sein, wenn die Obfuskierung 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 Ihr Flutter-Projekt das Flag --split-debug-info (und optional auch das Flag --obfuscate) verwendet, 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 obfuskierten 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-App-ID für Android (nicht Ihr Paketname)
Beispiel für eine Firebase-App-ID für Android: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 den Android-spezifischen Leitfaden zur Fehlerbehebung bei obfuskierten Berichten.