You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Crashlytics无崩溃报告:会话未设userId及数据收集禁用问题

Firebase Crashlytics崩溃报告不显示问题排查与解决

问题背景

  • 按Firebase Crashlytics官方文档配置Android项目后,测试崩溃控制台无报告,始终停留在设置页面
  • Firebase Remote Config功能正常,更换google-services.json无效
  • 调试日志显示核心异常:Crashlytics自动数据被firebase_crashlytics_collection_enabled清单标志禁用,同时存在非关键警告No userId set for session(崩溃时间09:36:38,应用重启时间09:37:58)

调试命令

通过以下adb命令获取Crashlytics详细日志:

adb shell setprop log.tag.FirebaseCrashlytics DEBUG
adb logcat -s FirebaseCrashlytics 

核心问题定位

日志明确指向清单文件中firebase_crashlytics_collection_enabled标志禁用了数据收集,这是崩溃报告无法上传的直接原因。No userId set for session属于可选信息警告,不会影响报告上传流程。

解决方案

1. 修正清单文件配置

打开AndroidManifest.xml,检查并修改如下meta-data:

  • 若已存在该配置,将android:value改为true
  • 若不存在,添加该配置到<application>标签内:
<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="true" />

注:多环境项目需确保所有环境的清单文件都正确配置

2. 验证build.gradle配置

确保项目级和应用级build.gradle的Crashlytics配置完整:

  • 项目级build.gradle(根目录):
buildscript {
    dependencies {
        // 使用最新稳定版插件(可根据官方文档更新版本号)
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
    }
}
  • 应用级build.gradle(app模块):
plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics' // 必须引入此插件
}

dependencies {
    implementation 'com.google.firebase:firebase-crashlytics:18.4.0'
    implementation 'com.google.firebase:firebase-core:21.1.1'
}

3. 重新测试

  • 执行File > Invalidate Caches / Restart清理缓存并重建项目
  • 手动触发崩溃后,必须重启应用(Crashlytics仅在应用重启时上传崩溃数据)
  • 等待5-10分钟后查看Firebase控制台(报告上传存在正常延迟)

4. 额外排查项

  • 确认设备网络正常,无代理或防火墙拦截Firebase请求
  • 检查Firebase控制台是否选中了当前测试的项目和应用

内容的提问来源于stack exchange,提问作者Pandarian Ld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:40:54