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

Expo开发构建中React Native Firebase Crashlytics日志功能失效求助

Expo + React Native Firebase Crashlytics 日志无法收集问题解决

核心问题定位

你的配置存在两个关键问题:一是firebase.json在Expo构建流程中未被正确读取,二是关闭自动收集后未手动初始化Crashlytics,导致日志无法上传。

具体解决步骤

1. 修正App.json插件配置,直接嵌入Crashlytics参数

Expo插件支持直接在配置中传入参数,替代firebase.json的方式更可靠。修改app.json的plugins字段:

"expo": {
  // ...其他配置
  "plugins": [
    "@react-native-firebase/app",
    "@react-native-firebase/auth",
    [
      "@react-native-firebase/crashlytics",
      {
        "crashlytics_debug_enabled": true,
        "crashlytics_auto_collection_enabled": false
      }
    ],
    [
      "expo-build-properties",
      {
        "ios": {
          "useFrameworks": "static"
        }
      }
    ]
  ],
  // ...其他配置
}

2. 手动初始化并启用Crashlytics

由于关闭了自动收集,必须在App入口手动开启日志收集功能:

import React, { useEffect } from 'react';
import crashlytics from '@react-native-firebase/crashlytics';
import { Button } from 'react-native';

export default function App() {
  useEffect(() => {
    // 开发模式下强制启用收集(可根据需求调整)
    if (__DEV__) {
      crashlytics().setCrashlyticsCollectionEnabled(true);
    }
    // 测试初始化日志
    crashlytics().log('App started: Crashlytics initialized');
  }, []);

  // 添加测试崩溃按钮,用于验证日志上传
  const testCrashAndLog = () => {
    crashlytics().log('Triggering test crash from user action');
    crashlytics().crash(); // 主动触发崩溃,触发后重启App
  };

  return (
    // ...你的App组件内容
    <Button title="Test Crash Log" onPress={testCrashAndLog} />
  );
}

3. 正确构建与验证

  • 禁用Expo Go:自定义原生插件必须使用开发构建,执行expo run:ios或expo run:android,不能用Expo Go预览
  • 清理缓存后重构:执行expo r -c清理缓存,再重新构建项目
  • 验证上传流程:点击测试按钮触发崩溃,重启App后等待5-10分钟,前往Firebase控制台的Crashlytics页面查看日志

4. 额外检查项

  • iOS端确认GoogleService-Info.plist已正确添加到项目(Expo插件应自动处理,可在Xcode的项目文件中验证)
  • Android端确认google-services.json放置在android/app目录下
  • 确保Firebase项目已启用Crashlytics服务(控制台中Crashlytics页面无初始化提示)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 11:55:22