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 désobfusqués et lisibles par l'humain.
Malheureusement, il peut arriver que le projet ne soit pas entièrement configuré. Ce guide décrit le fonctionnement de l'automatisation et fournit les premières étapes pour déboguer la configuration de votre projet.
Plates-formes Apple
Vérifier votre configuration pour l'importation de fichiers dSYM
L'ajout du plug-in Flutter Crashlytics et l'exécution de la commande flutterfire configure tentent d'ajouter un script d'exécution à l'espace de travail Xcode de votre projet, qui recherche et importe les fichiers de symboles dSYM nécessaires vers Crashlytics. Sans ces fichiers, une alerte "Fichier dSYM manquant" s'affichera dans le tableau de bord Crashlytics et les exceptions seront 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é :
Localisez et ouvrez le fichier d'espace de travail Xcode dans le répertoire iOS de votre projet (FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Identifiez 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'importation automatique des fichiers dSYM n'existe pas
Si ce script d'exécution n'existe pas, vous pouvez l'ajouter manuellement :
Localisez l'ID d'application Firebase pour votre application Apple. Vous pouvez trouver cet ID à deux endroits différents :
Dans la console Firebase, accédez à settings > Paramètres du projet.
Accédez à la fiche Vos applications, puis cliquez sur votre application Apple Firebase 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 indiqué sous le libellé appId.
Cliquez sur add > Nouvelle phase de script d'exécution.
Assurez-vous que cette nouvelle phase Run Script 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 Exécuter le script.
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 Apple Firebase (et non votre ID de bundle Apple)
Exemple d'ID d'application Apple Firebase : 1:1234567890:ios:321abc456def7890
Vous avez besoin de trouver l'ID de votre application Firebase ?
Voici deux façons de trouver l'ID de votre application Firebase :
Dans votre fichier GoogleService-Info.plist, l'ID de votre application correspond à la valeur GOOGLE_APP_ID.
Dans la console Firebase, 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.
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 l'option Bac à sable pour les scripts utilisateur est activée, Xcode n'autorise le script d'exécution à accéder qu'aux fichiers spécifiés dans Fichiers d'entrée.
Indiquer l'emplacement des fichiers dSYM de votre projet permet à Crashlytics de les traiter.
En indiquant l'emplacement du fichier GoogleService-Info.plist de votre application, vous permettez à Crashlytics d'associer les fichiers dSYM à votre application Firebase.
En fournissant l'emplacement de l'exécutable de votre application, le script d'exécution peut empêcher les importations en double du même fichier dSYM. Notez que les fichiers binaires de l'application ne sont pas importés.
Un script existe pour l'importation automatique des fichiers dSYM.
Localisez l'ID d'application Firebase pour votre application Apple. Vous pouvez trouver cet ID à deux endroits différents :
Dans la console Firebase, accédez à settings > Paramètres du projet.
Accédez à la fiche Vos applications, puis cliquez sur votre application Apple Firebase 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 indiqué sous le 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érifiez 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 ou version ultérieure et plug-in Flutter 3.3.4 ou version ultérieure) afin qu'il puisse générer et importer automatiquement les symboles Flutter (fichiers dSYM) vers Crashlytics.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 dans 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érifiez que vous utilisez la CLI pour importer les symboles Flutter (si vous utilisez le flag --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 CLI Firebase (v.11.9.0 ou version ultérieure) pour importer les symboles de débogage Flutter. Vous devez importer les symboles de débogage avant de signaler un plantage à partir d'une version de code obscurcie.
À partir du répertoire racine de votre projet Flutter, exécutez la commande suivante :
FIREBASE_APP_ID : ID de votre application Android Firebase (et non le nom de votre package)
Exemple d'ID d'application Android Firebase : 1:567383003300:android:17104a2ced0c9b9b
Vous avez besoin de trouver l'ID de votre application Firebase ?
Voici deux façons de trouver l'ID de votre application Firebase :
Dans votre fichier google-services.json, l'ID de votre application correspond à la valeur mobilesdk_app_id.
Dans la console Firebase, 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.
PATH/TO/symbols : répertoire que vous transmettez au flag --split-debug-info lors de la création 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 2025/11/26 (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 2025/11/26 (UTC)."],[],[]]