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

Firebase Crashlytics未显示崩溃报告问题求助

Firebase Crashlytics 无崩溃记录排查方案
  • 确认Crashlytics初始化配置
    检查应用启动入口(如Application类)是否完成初始化,且开启崩溃收集:

    // Kotlin示例
    FirebaseApp.initializeApp(this)
    FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)
    

    Debug模式下默认可能关闭收集,可在AndroidManifest.xml中强制开启:

    <meta-data
        android:name="firebase_crashlytics_collection_enabled"
        android:value="true" />
    
  • 排查自定义异常拦截逻辑
    若项目有自定义UncaughtExceptionHandler,需确保将异常传递给Crashlytics:

    // Java示例
    Thread.UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
    Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> {
        FirebaseCrashlytics.getInstance().recordException(throwable);
        defaultHandler.uncaughtException(thread, throwable);
    });
    
  • 验证配置文件一致性
    重新下载Firebase控制台的google-services.json,确认文件内的包名与当前项目完全匹配,替换后执行清理项目+完整重建操作。

  • 检查崩溃上传状态
    触发崩溃后需完全重启应用,通过Logcat搜索Crashlytics关键词,确认是否有上传日志:

    Crashlytics: Crashlytics report upload complete: [报告ID]
    若出现上传失败提示,排查设备网络连接或应用网络权限。

  • 手动触发测试崩溃
    不要依赖自然崩溃,添加测试代码主动触发:

    findViewById<Button>(R.id.test_crash_btn).setOnClickListener {
        throw NullPointerException("Test Crash for Firebase Crashlytics")
    }
    

    触发后重启应用,等待10-30分钟再查看控制台(数据存在延迟)。

  • 确认权限与混淆规则
    确保当前登录用户拥有Firebase Crashlytics Viewer及以上权限;若启用ProGuard/R8,需添加混淆规则避免日志解析失败:

    -keep class com.google.firebase.crashlytics.** { *; }
    -keepattributes SourceFile,LineNumberTable
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:44:58