Obtenir des rapports d'erreur lisibles dans le tableau de bord Crashlytics (Flutter)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Par défaut, Firebase Crashlytics instrumente automatiquement votre projet Flutter
pour importer les fichiers de symboles nécessaires qui garantissent que les rapports d'erreur sont
simplifiés et lisibles.
Malheureusement, il existe des cas où le projet n'est pas entièrement configuré. Ce guide décrit ce que fait l'automatisation et fournit les premières étapes pour déboguer la configuration de votre projet.
Plates-formes Apple
Vérifier votre configuration pour importer des fichiers dSYM
L'ajout du Crashlytics plug-in Flutter et l'exécution de la
flutterfire configure commande tentent d'ajouter un script d'exécution à votre
espace de travail Xcode de projet, qui recherche et importe les fichiers de symboles dSYM nécessaires
dans Crashlytics. Sans ces fichiers, une alerte "Missing dSYM" (Fichier dSYM manquant) s'affiche dans
le Crashlytics tableau de bord, et les exceptions sont conservées par le backend
jusqu'à ce que les fichiers manquants soient importés.
Si vous rencontrez ce problème, assurez-vous d'abord que le script d'exécution est installé :
Recherchez et ouvrez le fichier d'espace de travail Xcode dans le répertoire iOS de votre projet
(FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Déterminez si un script d'exécution intitulé [firebase_crashlytics] Crashlytics Upload Symbols a été ajouté aux phases de compilation de la cible Runner.
Le script d'exécution pour l'importation automatique des fichiers dSYM n'existe pas
Si ce script d'exécution n'existe pas, vous pouvez l'ajouter manuellement :
Recherchez l'ID d'application Firebase pour votre application Apple. Voici deux endroits où vous pouvez trouver cet ID :
Dans la Firebase console, accédez à vos
settings > Paramètres du projet.
Accédez à la fiche Vos applications, puis cliquez sur votre application Firebase Apple pour afficher ses informations, y compris son ID d'application.
Dans le répertoire de premier niveau de votre projet Flutter, recherchez votre fichier firebase_options.dart. L'ID d'application Firebase de votre application Apple est libellé appId.
Cliquez sur add >
Nouvelle phase de script d'exécution.
Assurez-vous que cette nouvelle phase de script d'exécution est la dernière phase de compilation de votre projet. Sinon, Crashlytics ne pourra pas traiter correctement les fichiers dSYM.
Développez la nouvelle section Script d'exécution.
Dans le champ de script (situé sous le libellé Shell), ajoutez les scripts d'exécution suivants.
Ces scripts traitent vos fichiers dSYM et les importent dans
Crashlytics.
FIREBASE_APP_ID : ID de votre application Firebase Apple (et non votre
ID de bundle Apple)
Exemple d'ID d'application Firebase Apple : 1:1234567890:ios:321abc456def7890
Vous avez besoin de trouver votre ID d'application Firebase ?
Voici deux façons de trouver votre ID d'application Firebase :
Dans votre fichier GoogleService-Info.plist, votre ID d'application est la valeur GOOGLE_APP_ID ; ou
Dans la Firebase console, accédez à vos
Paramètres du projet.
Accédez à la fiche Vos applications, puis cliquez sur l'application Firebase de votre choix pour trouver son ID d'application.
Dans la section Fichiers d'entrée, ajoutez les chemins d'accès aux emplacements des fichiers suivants :
Comprendre pourquoi les emplacements de ces fichiers sont
nécessaires
Xcode recherche ces fichiers d'entrée aux emplacements spécifiés pour s'assurer
que les fichiers de compilation sont disponibles pour le script d'exécution. De plus, si
le bac à sable de script utilisateur est activé, Xcode n'autorise le script d'exécution à accéder qu'aux fichiers spécifiés dans les fichiers d'entrée.
Fournir l'emplacement des fichiers dSYM de votre projet permet à
Crashlytics de traiter les fichiers dSYM.
Fournir l'emplacement du fichier compilé de votre application
GoogleService-Info.plist
permet à Crashlytics d'associer les fichiers dSYM à votre
application Firebase.
Fournir l'emplacement de l'exécutable de votre application permet au script d'exécution
d'empêcher les importations en double du même fichier dSYM. Notez que les binaires d'application
ne sont pas importés.
Le script d'exécution pour l'importation automatique des fichiers dSYM existe
Recherchez l'ID d'application Firebase pour votre application Apple. Voici deux endroits où vous pouvez trouver cet ID :
Dans la Firebase console, accédez à vos
settings > Paramètres du projet.
Accédez à la fiche Vos applications, puis cliquez sur votre application Firebase Apple pour afficher ses informations, y compris son ID d'application.
Dans le répertoire de premier niveau de votre projet Flutter, recherchez votre fichier firebase_options.dart. L'ID d'application Firebase de votre application Apple est libellé appId.
Lorsque vous exécutez le script upload-symbols, utilisez
-ai FIREBASE_APPLE_APP_ID au lieu de
-gsp /path/to/GoogleService-Info.plist.
Vérifier la configuration de votre version pour Flutter et Crashlytics(si vous utilisez l'indicateur --split-debug-info)
Si votre projet Flutter utilise l'indicateur --split-debug-info (et, éventuellement, l'indicateur --obfuscate), des étapes supplémentaires sont nécessaires pour afficher des traces de pile lisibles pour votre application.
Assurez-vous que votre projet utilise la configuration de version recommandée
(Flutter 3.12.0+ et Crashlytics plug-in Flutter 3.3.4+) afin que votre projet
puisse générer et importer automatiquement des symboles Flutter (fichiers dSYM) dans
Crashlytics.
Android
Vérifier la configuration de vos dépendances
La commande flutterfire configure tente d'ajouter les dépendances nécessaires aux fichiers de compilation Gradle de votre projet. Sans ces dépendances, les rapports d'erreur de la console Firebase peuvent être obscurcis si l'obscurcissement est activé.
Assurez-vous que les lignes suivantes sont présentes dans le fichier build.gradle au niveau du projet et dans le fichier build.gradle au niveau de l'application :
Dans le fichier de compilation au niveau du projet (android/build.gradle), recherchez la ligne suivante :
Dans le fichier de compilation au niveau de l'application (android/app/build.gradle), recherchez la ligne suivante :
// ... 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'
Vérifier que vous utilisez la CLI pour importer des symboles Flutter (si vous utilisez l'indicateur --split-debug-info)
Si votre projet Flutter utilise l'indicateur --split-debug-info (et, éventuellement, l'indicateur --obfuscate), des étapes supplémentaires sont nécessaires pour afficher des traces de pile lisibles pour votre application.
Utilisez la Firebase CLI (v.11.9.0+) pour importer les symboles de débogage Flutter. Vous devez importer les symboles de débogage avant de signaler une erreur à partir d'une compilation de code obscurci.
À partir du répertoire racine de votre projet Flutter, exécutez la commande suivante :
FIREBASE_APP_ID : ID de votre application Firebase Android (et non le
nom de votre package)
Exemple d'ID d'application Firebase Android : 1:567383003300:android:17104a2ced0c9b9b
Vous avez besoin de trouver votre ID d'application Firebase ?
Voici deux façons de trouver votre ID d'application Firebase :
Dans votre fichier google-services.json, votre ID d'application est la valeur mobilesdk_app_id ; ou
Dans la Firebase console, accédez à vos
Paramètres du projet.
Accédez à la fiche Vos applications, puis cliquez sur l'application Firebase de votre choix pour trouver son ID d'application.
PATH/TO/symbols : même répertoire que celui que vous
transmettez à l'indicateur --split-debug-info lors de la compilation de l'application
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2026/04/22 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/04/22 (UTC)."],[],[]]