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

Flutter应用release模式出现cloud_firestore/unavailable服务不可用错误

解决方案

  1. 配置混淆规则
    release模式默认开启R8混淆,未添加Firestore相关混淆规则会导致类被误删引发异常:
  • 打开android/app/proguard-rules.pro文件,添加如下规则:
-keep class com.google.firebase.firestore.** { *; }
-keep class io.grpc.** { *; }
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
  • 确认android/app/build.gradle中release构建配置已关联混淆规则文件:
android {
    ...
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            ...
        }
    }
}
  1. 检查签名指纹配置
    debug模式默认使用debug签名,若未将release签名对应的指纹添加到Firebase控制台,会触发权限拦截:
  • 导出release签名的SHA1、SHA256指纹,添加到Firebase控制台对应安卓应用的配置页
  • 重新下载google-services.json文件,替换android/app/目录下的旧文件,重新打包
  1. 修正Firebase初始化逻辑
    release模式冷启动执行逻辑更严格,未等待Firebase初始化完成就调用接口会触发异常:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 必须等待初始化完成再启动应用
  await Firebase.initializeApp();
  runApp(const MyApp());
}
  1. 调整依赖版本适配
    当前使用的cloud_firestore版本和Flutter 2.2.3存在兼容性瑕疵,可升级到适配版本:
firebase_core: 1.10.0
firebase_auth: 2.5.0
cloud_firestore: 1.17.1

执行flutter clean后重新打包测试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:00:00