| 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.
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 beschrieben.
Apple-Plattformen
Konfiguration für das Hochladen von dSYM-Dateien prüfen
Wenn Sie das Crashlytics-Flutter-Plug-in hinzufügen und den Befehl flutterfire configure ausführen, wird versucht, dem Xcode-Arbeitsbereich Ihres Projekts ein Ausführungsskript hinzuzufügen, das die erforderlichen dSYM-Symboldateien findet und in Crashlytics hochlädt. Ohne diese Dateien wird im Crashlytics-Dashboard eine Warnung zu fehlenden dSYM-Dateien angezeigt und Ausnahmen werden vom Backend zurückgehalten, bis die fehlenden Dateien hochgeladen werden.
Wenn dieses Problem auftritt, prüfen Sie zuerst, ob das Ausführungsskript installiert ist:
Suchen Sie die Xcode-Arbeitsbereichdatei im iOS-Verzeichnis Ihres Projekts (
FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) und öffnen Sie sie.Prüfen Sie, ob den Build-Phasen des Runner-Ziels ein Ausführungsskript mit dem Titel
[firebase_crashlytics] Crashlytics Upload Symbolshinzugefügt wurde.Sehen Sie im entsprechenden Abschnitt unten nach, ob das Ausführungsskript nicht vorhanden ist oder das Ausführungsskript vorhanden ist.
Prüfen Sie die Versionskonfiguration für Flutter und Crashlytics (falls Sie das Flag --split-debug-info verwenden).
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 (Flutter 3.12.0 oder höher und Crashlytics-Flutter-Plug-in 3.3.4 oder höher) verwendet wird, damit Flutter-Symbole (dSYM-Dateien) automatisch generiert und in Crashlytics hochgeladen werden können.
Android
Abhängigkeitskonfiguration prüfen
Mit dem Befehl flutterfire configure wird versucht, die erforderlichen Abhängigkeiten zu den Gradle-Build-Dateien Ihres Projekts hinzuzufügen. Ohne diese Abhängigkeiten können Absturzberichte in der Firebase-Konsole verschleiert werden, wenn die Verschleierung aktiviert ist.
Achten Sie darauf, dass die folgenden Zeilen in der build.gradle auf Projektebene und in der build.gradle auf App-Ebene vorhanden sind:
Suchen Sie in der Build-Datei auf Projektebene (
android/build.gradle) nach der folgenden Zeile:dependencies { // ... other dependencies classpath 'com.google.gms:google-services:4.3.5' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' }Suchen Sie in der Build-Datei auf App-Ebene (
android/app/build.gradle) nach der folgenden 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 Sie, ob Sie die CLI zum Hochladen von Flutter-Symbolen verwenden (wenn Sie das Flag --split-debug-info verwenden)
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-Befehlszeile (Version 11.9.0 und höher), um Flutter-Debugsymbole hochzuladen. Sie müssen die Debug-Symbole hochladen, bevor Sie einen Absturz in einem Build mit verschleiertem Code 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: Das Verzeichnis, das Sie beim Erstellen der Anwendung an das Flag--split-debug-infoübergeben.
Wenn weiterhin Probleme auftreten, lesen Sie den Android-spezifischen Leitfaden zur Fehlerbehebung bei verschleierten Berichten.