Ottenere report leggibili sugli arresti anomali nella dashboard di Crashlytics (Flutter)
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Per impostazione predefinita, Firebase Crashlytics instrumenta automaticamente il tuo progetto Flutter per caricare i file di simboli necessari che garantiscono che i report sugli arresti anomali siano deoffuscati e leggibili.
Purtroppo, in alcuni casi la configurazione del progetto potrebbe non essere completata. Questa guida descrive cosa fa l'automazione e fornisce i primi
passaggi per eseguire il debug della configurazione del progetto.
Piattaforme Apple
Controlla la configurazione per il caricamento dei file dSYM
L'aggiunta del plug-in Crashlytics Flutter e l'esecuzione del comando flutterfire configure tenteranno di aggiungere uno script di esecuzione allo spazio di lavoro Xcode del tuo progetto che trova e carica i file di simboli dSYM necessari su Crashlytics. Senza questi file, visualizzerai un avviso "dSYM mancante" nella dashboard Crashlytics e le eccezioni verranno trattenute dal backend finché non verranno caricati i file mancanti.
Se riscontri questo problema, assicurati innanzitutto di aver installato lo script di esecuzione:
Individua e apri il file del workspace Xcode nella directory iOS del progetto
(FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Identifica se è stato aggiunto uno script di esecuzione intitolato
[firebase_crashlytics] Crashlytics Upload Symbols alle fasi di compilazione del
target Runner.
Lo script per il caricamento automatico dei file dSYM non esiste
Se questo script di esecuzione non esiste, puoi aggiungerlo manualmente:
Individua l'ID app Firebase per la tua app Apple. Ecco due posizioni diverse
in cui puoi trovare questo ID:
Nella console Firebase, vai a
settings > Impostazioni progetto.
Vai alla scheda Le tue app, poi fai clic sull'app Firebase Apple per visualizzare le informazioni dell'app, incluso l'ID app.
Nella directory di primo livello del progetto Flutter, individua il file
firebase_options.dart. L'ID app Firebase per la tua app Apple è
etichettato come appId.
Fai clic su add >
Nuova fase di esecuzione dello script.
Assicurati che questa nuova fase Esegui script sia l'ultima fase di build del progetto. In caso contrario, Crashlytics non può elaborare correttamente i dSYM.
Espandi la nuova sezione Esegui script.
Nel campo dello script (situato sotto l'etichetta Shell), aggiungi i seguenti script di esecuzione.
Questi script elaborano i file dSYM e li caricano su
Crashlytics.
FIREBASE_APP_ID: l'ID app Firebase Apple (non l'ID bundle Apple)
Esempio di ID app Firebase Apple: 1:1234567890:ios:321abc456def7890
Hai bisogno di trovare l'ID app Firebase?
Ecco due modi per trovare l'ID app Firebase:
Nel file GoogleService-Info.plist, l'ID app è il valore
GOOGLE_APP_ID; oppure
Nella console Firebase, vai alle
impostazioni del progetto.
Vai alla scheda Le tue app, poi fai clic sull'app Firebase che ti interessa per trovare il relativo ID app.
Nella sezione Input Files (File di input), aggiungi i percorsi delle posizioni dei seguenti file:
Comprendere perché sono necessarie le posizioni di questi file
Xcode cerca questi file di input nelle posizioni specificate per assicurarsi
che i file di build siano disponibili per lo script di esecuzione. Inoltre, se
User Script Sandboxing è abilitato, Xcode consente allo script di esecuzione
di accedere solo ai file specificati in Input Files.
Fornire la posizione dei file dSYM del progetto consente a
Crashlytics di elaborare i dSYM.
Se fornisci la posizione del file di build
GoogleService-Info.plist
della tua app, Crashlytics può associare i dSYM alla tua
app Firebase.
Fornire la posizione dell'eseguibile dell'app consente allo script di esecuzione di impedire caricamenti duplicati dello stesso dSYM. Tieni presente che i
binari dell'app non vengono caricati.
Esegui lo script per il caricamento automatico dei file dSYM
Individua l'ID app Firebase per la tua app Apple. Ecco due posizioni diverse
in cui puoi trovare questo ID:
Nella console Firebase, vai a
settings > Impostazioni progetto.
Vai alla scheda Le tue app, poi fai clic sull'app Firebase Apple per visualizzare le informazioni dell'app, incluso l'ID app.
Nella directory di primo livello del progetto Flutter, individua il file
firebase_options.dart. L'ID app Firebase per la tua app Apple è
etichettato come appId.
Quando esegui lo script upload-symbols, utilizza
-ai FIREBASE_APPLE_APP_ID anziché
-gsp /path/to/GoogleService-Info.plist.
Controlla la configurazione della versione per Flutter e Crashlytics(se utilizzi il flag --split-debug-info)
Se il tuo progetto Flutter utilizza il flag --split-debug-info (e, facoltativamente,
anche il flag --obfuscate), sono necessari passaggi aggiuntivi per mostrare stack trace leggibili
per la tua app.
Assicurati che il tuo progetto utilizzi la configurazione della versione consigliata
(Flutter 3.12.0+ e plug-in Flutter 3.3.4+) in modo che il progetto
possa generare e caricare automaticamente i simboli Flutter (file dSYM) su
Crashlytics.Crashlytics
Android
Controlla la configurazione delle dipendenze
Il comando flutterfire configure tenta di aggiungere le dipendenze necessarie ai file di build Gradle del progetto. Senza queste dipendenze, i report sugli arresti anomali nella console Firebase potrebbero essere offuscati se l'offuscamento è attivato.
Assicurati che le seguenti righe siano presenti nel file build.gradle a livello di progetto
e nel file build.gradle a livello di app:
Nel file di build a livello di progetto (android/build.gradle), controlla la riga
seguente:
Nel file di build a livello di app (android/app/build.gradle), controlla la seguente riga:
// ... 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'
Verifica di utilizzare l'interfaccia a riga di comando per caricare i simboli Flutter (se utilizzi il flag --split-debug-info)
Se il tuo progetto Flutter utilizza il flag --split-debug-info (e, facoltativamente,
anche il flag --obfuscate), sono necessari passaggi aggiuntivi per mostrare stack trace leggibili
per la tua app.
Utilizza la CLI Firebase (v.11.9.0+) per caricare i simboli di debug di Flutter. Devi caricare i simboli di debug prima di segnalare un arresto anomalo da una build di codice offuscato.
Dalla directory principale del progetto Flutter, esegui questo comando:
FIREBASE_APP_ID: l'ID app Firebase per Android (non il nome del pacchetto)
Esempio di ID app Firebase per Android: 1:567383003300:android:17104a2ced0c9b9b
Hai bisogno di trovare l'ID app Firebase?
Ecco due modi per trovare l'ID app Firebase:
Nel file google-services.json, l'ID app è il valore
mobilesdk_app_id; oppure
Nella console Firebase, vai alle
impostazioni del progetto.
Vai alla scheda Le tue app, poi fai clic sull'app Firebase che ti interessa per trovare il relativo ID app.
PATH/TO/symbols: la stessa directory che passi al flag --split-debug-info durante la creazione dell'applicazione
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-11-26 UTC."],[],[]]