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ą czytelne dla człowieka i nie mają zaciemnionego kodu.
Niestety w niektórych przypadkach projekt może nie zostać w pełni skonfigurowany. W tym przewodniku opisujemy, co robi automatyzacja, i podajemy pierwsze kroki, które należy wykonać, aby debugować konfigurację projektu.
Platformy Apple
Sprawdzanie konfiguracji przesyłania plików dSYM
Dodanie wtyczki Crashlytics Flutter i uruchomienie polecenia flutterfire configure spowoduje próbę dodania skryptu uruchamiania do obszaru roboczego Xcode projektu, który znajduje i przesyła niezbędne pliki symboli dSYM do Crashlytics. Bez tych plików w panelu Crashlytics zobaczysz alert „Brak dSYM”, a wyjątki będą przechowywane przez backend do momentu przesłania brakujących plików.
Jeśli występuje ten problem, najpierw upewnij się, że masz zainstalowany skrypt uruchamiania:
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 uruchamiania o nazwie [firebase_crashlytics] Crashlytics Upload Symbols.
Skrypt do automatycznego przesyłania plików dSYM nie istnieje.
Jeśli ten skrypt nie istnieje, możesz dodać go ręcznie:
Znajdź identyfikator aplikacji w Firebase dla aplikacji na urządzenia Apple. Możesz go znaleźć w 2 miejscach:
W konsoli Firebase otwórz settings > Ustawienia projektu.
Otwórz kartę Twoje aplikacje i kliknij aplikację Firebase na urządzenia Apple, aby wyświetlić informacje o niej, w tym jej identyfikator.
W katalogu najwyższego poziomu projektu Flutter znajdź plik firebase_options.dart. Identyfikator aplikacji w Firebase dla aplikacji na urządzenia Apple jest oznaczony jako appId.
Kliknij add > New Run Script Phase (Nowa faza uruchamiania skryptu).
Upewnij się, że ten nowy etap Run Script (Uruchom skrypt) jest ostatnim etapem kompilacji projektu. W przeciwnym razie Crashlytics nie będzie mógł prawidłowo przetwarzać plików dSYM.
Rozwiń nową sekcję Uruchom skrypt.
W polu skryptu (znajdującym się pod etykietą Shell) dodaj te skrypty uruchamiania.
Te skrypty przetwarzają pliki dSYM i przesyłają je do Crashlytics.
FIREBASE_APP_ID: identyfikator aplikacji Apple w Firebase (nie identyfikator pakietu Apple)
Przykładowy identyfikator aplikacji Apple w Firebase: 1:1234567890:ios:321abc456def7890
Chcesz znaleźć identyfikator aplikacji w Firebase?
Identyfikator aplikacji w Firebase możesz znaleźć na 2 sposoby:
W pliku GoogleService-Info.plist identyfikator aplikacji to wartość GOOGLE_APP_ID.
W konsoli Firebase otwórz Ustawienia projektu.
Otwórz kartę Twoje aplikacje, a następnie kliknij odpowiednią aplikację w Firebase, aby znaleźć jej identyfikator.
W sekcji Pliki wejściowe dodaj ścieżki do lokalizacji 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 uruchamiania. Jeśli włączona jest opcja User Script Sandboxing (Piaskownica skryptów użytkownika), Xcode zezwala skryptowi uruchamiania na dostęp tylko do plików określonych w sekcji Input Files (Pliki wejściowe).
Podanie lokalizacji plików dSYM projektu umożliwia Crashlytics ich przetwarzanie.
Podanie lokalizacji pliku GoogleService-Info.plist kompilacji aplikacji umożliwia usłudze Crashlytics powiązanie plików dSYM z aplikacją w Firebase.
Podanie lokalizacji pliku wykonywalnego aplikacji pozwala skryptowi uruchamiania zapobiegać wielokrotnemu przesyłaniu tego samego pliku dSYM. Pamiętaj, że pliki binarne aplikacji nie są przesyłane.
Skrypt uruchamiania automatycznego przesyłania plików dSYM istnieje
Znajdź identyfikator aplikacji w Firebase dla aplikacji na urządzenia Apple. Możesz go znaleźć w 2 miejscach:
W konsoli Firebase otwórz settings > Ustawienia projektu.
Otwórz kartę Twoje aplikacje i kliknij aplikację Firebase na urządzenia Apple, aby wyświetlić informacje o niej, w tym jej identyfikator.
W katalogu najwyższego poziomu projektu Flutter znajdź plik firebase_options.dart. Identyfikator aplikacji w Firebase dla aplikacji 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 Twój projekt Flutter używa flagi --split-debug-info (i opcjonalnie flagi --obfuscate), musisz wykonać dodatkowe czynności, aby wyświetlać czytelne zrzuty stosu aplikacji.
Upewnij się, że Twój projekt używa zalecanej konfiguracji wersji
(Flutter 3.12.0 lub nowszy i Crashlyticswtyczka Flutter 3.3.4 lub nowsza), aby mógł
automatycznie generować i przesyłać symbole Flutter (pliki dSYM) do
Crashlytics.
Android
Sprawdzanie konfiguracji 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 konsoli Firebase mogą być zaciemnione, jeśli zaciemnianie jest włączone.
Upewnij się, że w pliku build.gradle na poziomie projektu i w pliku build.gradle na poziomie aplikacji znajdują się te wiersze:
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 Twój projekt Flutter używa flagi --split-debug-info (i opcjonalnie flagi --obfuscate), musisz wykonać dodatkowe czynności, aby wyświetlać czytelne zrzuty stosu aplikacji.
Użyj interfejsu wiersza poleceń Firebase (w wersji 11.9.0 lub nowszej), aby przesłać symbole debugowania Flutter. Symbole debugowania musisz przesłać przed zgłoszeniem awarii z zaciemnionej kompilacji kodu.
W katalogu głównym projektu Flutter uruchom to polecenie:
FIREBASE_APP_ID: identyfikator aplikacji Firebase na Androida (nie nazwa pakietu)
Przykładowy identyfikator aplikacji Firebase na Androida: 1:567383003300:android:17104a2ced0c9b9b
Chcesz znaleźć identyfikator aplikacji w Firebase?
Identyfikator aplikacji w Firebase możesz znaleźć na 2 sposoby:
W pliku google-services.json identyfikator aplikacji to wartość mobilesdk_app_id.
W konsoli Firebase otwórz Ustawienia projektu.
Otwórz kartę Twoje aplikacje, a następnie kliknij odpowiednią aplikację w Firebase, aby znaleźć jej identyfikator.
PATH/TO/symbols: ten sam katalog, który przekazujesz do flagi --split-debug-info podczas tworzenia 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-10-25 UTC."],[],[]]