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 dei simboli necessari che garantiscono che i report sugli arresti anomali siano deoffuscati e leggibili.
Purtroppo, in alcuni casi il progetto potrebbe non essere completamente configurato. Questa guida descrive le operazioni eseguite dall'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
Se aggiungi il plug-in Flutter Crashlytics ed esegui il comando flutterfire configure, verrà eseguito un tentativo di aggiungere uno script di esecuzione all'area di lavoro Xcode del progetto che trova e carica i file dei simboli dSYM necessari in Crashlytics. Senza questi file, vedrai un avviso "dSYM mancante" nella dashboard di 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 dell'area di lavoro Xcode nella directory iOS del progetto (FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Identifica se uno script di esecuzione intitolato [firebase_crashlytics] Crashlytics Upload Symbols è stato aggiunto alle fasi di build del target Runner.
Lo script di esecuzione per il caricamento automatico dei 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 sulla tua app Firebase per 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 >
New Run Script Phase (Nuova fase di esecuzione dello script).
Assicurati che questa nuova fase Run 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 pacchetto 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 progetto.
Vai alla scheda Le tue app, poi fai clic sull'app Firebase prevista per trovare il relativo ID app.
Nella sezione File di input, aggiungi i percorsi delle posizioni dei seguenti file:
Scopri 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 l'opzione User Script Sandboxing è attiva, Xcode consente allo script di esecuzione di accedere solo ai file specificati in Input Files.
Se fornisci la posizione dei file dSYM del tuo progetto, Crashlytics può elaborarli.
Se fornisci la posizione del file GoogleService-Info.plist creato della tua app, Crashlytics può associare i dSYM alla tua app Firebase.
Se fornisci la posizione del file eseguibile della tua app, lo script di esecuzione può impedire caricamenti duplicati dello stesso dSYM. Tieni presente che i file binari dell'app non vengono caricati.
Esiste lo script di esecuzione 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 sulla tua app Firebase per 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 analisi dello stack leggibili per la tua app.
Assicurati che il tuo progetto utilizzi la configurazione della versione consigliata (Flutter 3.12.0+ e plug-in Flutter Crashlytics 3.3.4+) in modo che possa generare e caricare automaticamente i simboli Flutter (file dSYM) su 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 è attivo.
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), verifica la presenza della seguente riga:
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 analisi dello stack leggibili per la tua app.
Utilizza l'interfaccia a riga di comando Firebase (v.11.9.0 e successive) 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 progetto.
Vai alla scheda Le tue app, poi fai clic sull'app Firebase prevista 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 2026-10-18 UTC."],[],[]]