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

Flutter集成Firebase Crashlytics遇连接错误:无法访问firebase-settings.crashlytics.com

解决Flutter集成Firebase Crashlytics时无法连接firebase-settings.crashlytics.com的问题

问题描述

按照Firebase官方文档集成Crashlytics与Analytics后,运行应用出现核心连接错误:

E/SessionConfigFetcher( 6132): Error failing to fetch the remote configs: Failed to connect to firebase-settings.crashlytics.com/:::443
E/FirebaseCrashlytics( 6132): Settings request failed.

主动抛出异常时,进一步提示:

E/FirebaseCrashlytics( 9191): Cannot send reports. Timed out while fetching settings.

解决方案

1. 排查网络连通性

  • 确认设备/模拟器可正常访问外网,避免公司内网、VPN等拦截Firebase域名请求,可切换至手机流量测试。
  • 直接在浏览器访问https://firebase-settings.crashlytics.com,只要不出现连接超时(哪怕返回404),说明域名可正常解析。

2. 验证Firebase配置文件

  • 确保google-services.json(Android)/GoogleService-Info.plist(iOS)是从Firebase控制台对应项目下载的,包名/bundle ID与Flutter项目完全匹配:
    • Android:检查android/app/build.gradle中的applicationId和google-services.json里client下的package_name一致。
    • iOS:检查Info.plist中的CFBundleIdentifier和GoogleService-Info.plist里的BUNDLE_ID一致。

3. 配置Android网络安全规则

在android/app/src/main/res/xml创建network_security_config.xml文件,添加允许Crashlytics相关域名的配置:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">firebase-settings.crashlytics.com</domain>
        <domain includeSubdomains="true">crashlyticsreports-pa.googleapis.com</domain>
        <domain includeSubdomains="true">firebaselogging-pa.googleapis.com</domain>
    </domain-config>
</network-security-config>

然后在AndroidManifest.xml的application标签中引用该配置:

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config">

4. 检查Android Gradle配置

  • 项目根目录build.gradle中确认添加了Crashlytics依赖:
    dependencies {
        classpath 'com.google.gms:google-services:4.4.0'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
        // 其他依赖
    }
    
  • app模块build.gradle中确认应用了相关插件:
    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.crashlytics'
    
  • 确保minSdkVersion不低于16(Crashlytics最低要求)。

5. 清理缓存并重新构建

  • 执行以下命令清理缓存:
    flutter clean
    rm -rf android/.gradle ios/Pods
    flutter pub get
    cd ios && pod install && cd ..
    
  • 卸载设备上的旧应用,重新编译安装。

6. 调整设备DNS设置

若设备默认DNS无法解析Firebase域名,手动切换至公共DNS(如8.8.8.8或1.1.1.1)后再次测试。

7. 测试Release模式

Debug模式下Crashlytics可能延迟上报或默认禁用,切换至Release模式构建应用并测试崩溃上报。

内容的提问来源于stack exchange,提问作者J Bulls Infotech

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 11:30:18