Uzyskiwanie czytelnych raportów o awariach w panelu Crashlytics (Flutter)
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Domyślnie Firebase Crashlytics automatycznie instrumentuje projekt Flutter
, aby przesyłać niezbędne pliki symboli, które zapewniają, że raporty o awariach są
deobfuskowane i czytelne.
Niestety w niektórych przypadkach projekt może nie zostać w pełni skonfigurowany. Z tego przewodnika dowiesz się, co robi automatyzacja, i poznasz pierwsze kroki, które pozwolą Ci debugować konfigurację projektu.
Platformy Apple
Sprawdź konfigurację przesyłania plików dSYM
Dodanie wtyczki Crashlytics Flutter i uruchomienie polecenia
flutterfire configure spowoduje próbę dodania skryptu uruchamiającego do obszaru roboczego Xcode projektu, który znajdzie i prześle niezbędne pliki symboli dSYM
do Crashlytics. Bez tych plików w panelu Crashlytics Crashlytics zobaczysz alert „Missing dSYM” (Brak pliku dSYM), a wyjątki będą przechowywane przez backend
do czasu przesłania brakujących plików.
Jeśli masz ten problem, najpierw upewnij się, że masz zainstalowany skrypt uruchamiający:
Znajdź i otwórz plik obszaru roboczego Xcode w katalogu iOS projektu
(FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Sprawdź, czy do faz kompilacji celu Runner został dodany skrypt uruchamiający o nazwie [firebase_crashlytics] Crashlytics Upload Symbols.
Skrypt uruchamiający do automatycznego przesyłania plików dSYM nie istnieje
Jeśli ten skrypt uruchamiający nie istnieje, możesz go dodać ręcznie:
Znajdź identyfikator aplikacji Firebase na urządzenia Apple. Możesz go znaleźć w 2 miejscach:
W konsoli Firebase otwórz
settings > Ustawienia projektu.
Otwórz kartę Twoje aplikacje , a następnie kliknij aplikację Firebase na urządzenia Apple, aby wyświetlić informacje o aplikacji, w tym jej identyfikator.
W katalogu najwyższego poziomu projektu Flutter znajdź plik firebase_options.dart. Identyfikator aplikacji Firebase na urządzenia Apple jest oznaczony jako appId.
Kliknij add >
Nowa faza skryptu uruchamiającego.
Upewnij się, że ta nowa faza skryptu uruchamiającego jest ostatnią fazą kompilacji projektu. W przeciwnym razie Crashlytics nie będzie mógł prawidłowo przetwarzać plików dSYM.
Rozwiń nową sekcję Skrypt uruchamiający.
W polu skryptu (znajdującym się pod etykietą Shell) dodaj te skrypty uruchamiające.
Te skrypty przetwarzają pliki dSYM i przesyłają je do
Crashlytics.
FIREBASE_APP_ID: identyfikator aplikacji Firebase na urządzenia Apple (nie identyfikator
pakietu Apple)
Przykład identyfikatora aplikacji Firebase na urządzenia Apple: 1:1234567890:ios:321abc456def7890
Musisz znaleźć identyfikator aplikacji Firebase?
Oto 2 sposoby na znalezienie identyfikatora aplikacji Firebase:
W pliku GoogleService-Info.plist identyfikator aplikacji to wartość GOOGLE_APP_ID; lub
W konsoli Firebase otwórz
Ustawienia projektu.
Otwórz kartę Twoje aplikacje , a następnie kliknij odpowiednią aplikację Firebase, aby znaleźć jej identyfikator.
W sekcji Pliki wejściowe dodaj ścieżki do lokalizacji tych plików:
Dowiedz się, dlaczego potrzebne są lokalizacje tych plików
Xcode szuka tych plików wejściowych w określonych lokalizacjach, aby upewnić się
że pliki kompilacji są dostępne dla skryptu uruchamiającego. Jeśli włączona jest też
piaskownica skryptu użytkownika , Xcode zezwala skryptowi uruchamiającemu tylko na dostęp do plików określonych w sekcji Pliki wejściowe.
Podanie lokalizacji plików dSYM projektu umożliwia
Crashlytics przetwarzanie plików dSYM.
Podanie lokalizacji skompilowanego pliku aplikacji
GoogleService-Info.plist
umożliwia Crashlytics powiązanie plików dSYM z aplikacją w Firebase.
Podanie lokalizacji pliku wykonywalnego aplikacji umożliwia skryptowi uruchamiającemu zapobieganie duplikowaniu przesyłania tego samego pliku dSYM. Pamiętaj, że pliki binarne aplikacji
nie są przesyłane.
Skrypt uruchamiający do automatycznego przesyłania plików dSYM istnieje
Znajdź identyfikator aplikacji Firebase na urządzenia Apple. Możesz go znaleźć w 2 miejscach:
W konsoli Firebase otwórz
settings > Ustawienia projektu.
Otwórz kartę Twoje aplikacje , a następnie kliknij aplikację Firebase na urządzenia Apple, aby wyświetlić informacje o aplikacji, w tym jej identyfikator.
W katalogu najwyższego poziomu projektu Flutter znajdź plik firebase_options.dart. Identyfikator aplikacji Firebase na urządzenia Apple jest oznaczony jako appId.
Podczas uruchamiania skryptu upload-symbols użyj
-ai FIREBASE_APPLE_APP_ID zamiast
-gsp /path/to/GoogleService-Info.plist.
Sprawdź konfigurację wersji Flutter i Crashlytics(jeśli używasz flagi --split-debug-info)
Jeśli projekt Flutter używa flagi --split-debug-info (i opcjonalnie flagi --obfuscate), musisz wykonać dodatkowe czynności, aby wyświetlać czytelne ślady stosu aplikacji.
Upewnij się, że projekt używa zalecanej konfiguracji wersji
(Flutter 3.12.0+ i Crashlytics wtyczka Flutter 3.3.4+), aby projekt
mógł automatycznie generować i przesyłać symbole Flutter (pliki dSYM) do
Crashlytics.
Android
Sprawdź konfigurację zależności
Polecenie flutterfire configure próbuje dodać niezbędne zależności do plików kompilacji Gradle projektu. Bez tych zależności raporty o awariach w
Firebase konsoli mogą być obfuskowane, jeśli obfuskacja jest włączona.
Upewnij się, że te wiersze znajdują się w pliku build.gradle na poziomie projektu i w pliku build.gradle na poziomie aplikacji:
W pliku kompilacji na poziomie projektu (android/build.gradle) sprawdź, czy znajduje się ten wiersz:
W pliku kompilacji na poziomie aplikacji (android/app/build.gradle) sprawdź, czy znajduje się ten wiersz:
// ... other importsandroid{// ... your android config}dependencies{// ... your dependencies}// This section must appear at the bottom of the fileapplyplugin:'com.google.gms.google-services'applyplugin:'com.google.firebase.crashlytics'
Sprawdź, czy do przesyłania symboli Flutter używasz interfejsu wiersza poleceń (jeśli używasz flagi --split-debug-info)
Jeśli projekt Flutter używa flagi --split-debug-info (i opcjonalnie flagi --obfuscate), musisz wykonać dodatkowe czynności, aby wyświetlać czytelne ślady stosu aplikacji.
Do przesyłania symboli debugowania Flutter
użyj interfejsu wiersza poleceń FirebaseCLI (w wersji 11.9.0 lub nowszej). Musisz przesłać symbole debugowania zanim zgłosisz awarię z kompilacji kodu obfuskowanego.
W katalogu głównym projektu Flutter uruchom to polecenie:
FIREBASE_APP_ID: identyfikator aplikacji Firebase na Androida (nie nazwa pakietu)
Przykład identyfikatora aplikacji Firebase na Androida: 1:567383003300:android:17104a2ced0c9b9b
Musisz znaleźć identyfikator aplikacji Firebase?
Oto 2 sposoby na znalezienie identyfikatora aplikacji Firebase:
W pliku google-services.json identyfikator aplikacji to wartość mobilesdk_app_id; lub
W konsoli Firebase otwórz
Ustawienia projektu.
Otwórz kartę Twoje aplikacje , a następnie kliknij odpowiednią aplikację Firebase, aby znaleźć jej identyfikator.
PATH/TO/symbols: ten sam katalog, który
przekazujesz do flagi --split-debug-info podczas kompilowania aplikacji.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2026-09-12 UTC."],[],[]]