flutter如何上传crashlytics符号文件

在Flutter项目中集成Crashlytics时,如何正确上传符号文件以便查看崩溃日志的堆栈跟踪?我已经按照官方文档配置了Firebase和Crashlytics,但崩溃报告中仍然显示混淆的代码,无法定位具体问题。是否需要手动执行上传命令?在iOS和Android平台上分别该如何操作?

2 回复

在Flutter中上传符号文件到Crashlytics,需在android/app/build.gradle中添加Firebase插件,并配置firebaseCrashlytics。iOS端需在Xcode中启用自动上传符号文件功能。

更多关于flutter如何上传crashlytics符号文件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中上传 Crashlytics 符号文件,主要涉及 Android 和 iOS 平台的配置。以下是具体步骤:

Android 平台

  1. 配置 Firebase

    • android/app/build.gradle 中添加依赖:
      dependencies {
          implementation 'com.google.firebase:firebase-crashlytics:18.2.13'
      }
      
    • android/build.gradle 中启用 Crashlytics Gradle 插件:
      buildscript {
          dependencies {
              classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
          }
      }
      
    • android/app/build.gradle 中应用插件:
      apply plugin: 'com.google.firebase.crashlytics'
      
  2. 自动上传符号文件

    • android/app/build.gradlebuildTypes 中启用上传:
      android {
          buildTypes {
              release {
                  firebaseCrashlytics {
                      nativeSymbolUploadEnabled true
                  }
              }
          }
      }
      
    • 构建 Release 版本时,符号文件会自动上传。

iOS 平台

  1. 配置 Firebase

    • ios/Podfile 中添加:
      pod 'Firebase/Crashlytics'
      
    • 运行 pod install
  2. 上传符号文件

    • 在 Xcode 中,添加 Run Script 构建阶段:
      • 脚本路径:
        "${PODS_ROOT}/FirebaseCrashlytics/run"
        
      • 输入文件:
        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
        
    • 构建应用时,符号文件会自动上传。

注意事项

  • 确保已正确配置 google-services.json(Android)和 GoogleService-Info.plist(iOS)。
  • 对于 Flutter 的 Dart 异常,需手动调用 FirebaseCrashlytics.instance.recordError 捕获。

完成以上配置后,符号文件会在构建 Release 版本时自动上传至 Firebase Crashlytics。

回到顶部