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

Flutter 2.0.x集成Firebase Crashlytics时遭遇java.io.FileNotFoundException及404错误求助

解决Flutter 2.0.x集成Firebase Crashlytics时的Settings Request Failed错误

我之前在Flutter 2.x版本集成Crashlytics时也碰到过完全一样的问题,结合我的排查经验,给你几个可行的解决方向:

1. 确认Firebase控制台中Crashlytics已启用

很多时候我们完成了SDK集成,但忘记在Firebase控制台启用Crashlytics服务。登录Firebase控制台找到你的项目,进入Crashlytics页面,按照提示完成启用流程(通常需要上传一次测试崩溃或者等待系统验证)。如果服务未启用,Firebase不会生成对应的配置接口,自然会返回404。

2. 替换最新的google-services.json文件

旧的google-services.json可能缺少Crashlytics相关的配置字段,或者项目信息有误。去Firebase控制台重新下载最新的配置文件,替换到你的Flutter项目android/app目录下,然后重新构建项目。

3. 匹配Flutter与Crashlytics插件的兼容版本

Flutter 2.0.x属于比较早期的版本,要确保firebase_crashlytics插件版本与之兼容。打开项目的pubspec.yaml,指定适配Flutter 2.x的插件版本(比如当时的稳定版本是^2.0.0系列),执行flutter pub get更新依赖后再重新运行。

4. 检查Android端配置

  • 确认AndroidManifest.xml中添加了网络权限:
    <uses-permission android:name="android.permission.INTERNET"/>
    
  • 在代码初始化阶段主动启用Crashlytics收集(尤其是debug模式下,默认可能未开启):
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
      runApp(MyApp());
    }
    

5. 排查网络环境

Crashlytics需要访问Firebase的专属域名,如果你的设备处于受限网络环境,会导致请求失败。可以测试设备能否正常访问firebase-settings.crashlytics.com这个域名,确保网络连接正常。

6. 清理缓存后重新构建

缓存问题也可能导致配置不生效,执行以下命令清理后重新运行:

flutter clean
cd android && ./gradlew clean
cd ..
flutter pub get
flutter run

补充说明

你访问那个URL返回404的原因是:该接口是Crashlytics SDK获取项目配置的专属接口,只有当Firebase项目中Crashlytics服务已启用,且配置文件中的项目信息完全匹配时,这个接口才会存在。如果前面的配置步骤有遗漏,Firebase后台就不会生成对应的配置资源,所以返回404错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:17:31