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

Flutter Android项目集成Firebase Crashlytics连接失败求助

解决方案:Flutter双产品风味Android项目Crashlytics连接失败问题

1. 检查风味对应的google-services.json配置

  • 确保每个产品风味都有独立的google-services.json文件,放置在对应风味的目录下,比如android/app/src/flavor1/google-services.json和android/app/src/flavor2/google-services.json,而非仅放在主目录android/app/下。
  • 核对每个json文件内的mobilesdk_app_id、project_id、package_name是否与对应风味的应用ID完全匹配。

2. 确认Gradle配置中的风味处理

  • 在android/app/build.gradle中,确保Crashlytics依赖与配置针对每个风味正确加载:
    android {
      flavorDimensions "app"
      productFlavors {
        flavor1 {
          dimension "app"
          applicationId "com.example.flavor1"
          // 其他风味专属配置
        }
        flavor2 {
          dimension "app"
          applicationId "com.example.flavor2"
          // 其他风味专属配置
        }
      }
    }
    
    dependencies {
      implementation 'com.google.firebase:firebase-crashlytics'
      implementation 'com.google.firebase:firebase-analytics'
    }
    
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.crashlytics'
    
  • 检查项目根目录build.gradle中是否添加了Crashlytics插件的classpath:
    dependencies {
      classpath 'com.google.gms:google-services:4.4.0'
      classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
      // 其他classpath配置
    }
    

3. 排查网络与权限问题

  • 验证设备/模拟器能否正常访问firebase-settings.crashlytics.com:可直接在设备浏览器中访问该域名,确认是否能加载;若使用代理,需确保代理允许访问该域名,或暂时关闭代理测试。
  • 确认AndroidManifest.xml中已添加必要网络权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    

4. 强制触发崩溃验证上报

  • 调试模式下Crashlytics可能延迟上报,可手动触发崩溃测试:
    在Flutter代码中添加测试按钮:
    ElevatedButton(
      onPressed: () {
        FirebaseCrashlytics.instance.crash();
      },
      child: const Text('Test Crash'),
    )
    
  • 触发崩溃后重启应用,等待5-10分钟再查看Crashlytics控制台;若使用调试模式,需确保已启用Crashlytics上报配置。

5. 核对Firebase控制台配置

  • 确保Firebase控制台已为每个风味的应用ID创建对应应用(同一项目或独立项目均可),且每个应用都已启用Crashlytics服务。
  • 检查控制台中应用是否关联了正确的SHA-1指纹,包括调试版与发布版指纹。

6. 清除缓存并重新构建

  • 执行以下命令清理缓存后重新构建项目:
    flutter clean
    cd android
    ./gradlew clean
    ./gradlew assembleFlavor1Debug # 替换为你的目标风味名称
    cd ..
    flutter run --flavor flavor1 -t lib/main_flavor1.dart # 替换为对应风味的入口文件
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:34:51