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

Flutter项目Firestore在模拟器运行抛出Google Playstore异常

Firebase Firestore 无Google Play服务模拟器崩溃解决方案

问题根因

该崩溃是23.0.4版本Firestore SDK的已知问题:

  • 官方文档提到的Firestore不依赖Google Play服务指核心读写功能,该版本新增了通过GMS更新SSL根证书的可选逻辑,检测不到GMS时未做好异常捕获
  • API 30的原生x86镜像默认不带GMS,且对conscrypt库的getAlpnSelectedProtocol方法做了灰名单限制,SDK降级调用该方法失败直接触发崩溃

可行解决方案

  • 方案1:降级Firestore SDK版本
    降级到22.1.2及以下版本即可规避该问题,修改app模块build.gradle的依赖配置:
    implementation "com.google.firebase:firebase-firestore:22.1.2"
    
  • 方案2:更换带Google Play服务的模拟器镜像
    新建模拟器时,选择目标镜像标签带Google Play的版本(不是仅带Google APIs的版本),该镜像自带最新版GMS和Play Store,可直接兼容当前SDK版本
  • 方案3:禁用Firestore的SSL自动更新逻辑
    初始化Firestore时添加自定义配置,跳过GMS SSL更新逻辑,使用系统默认SSL上下文:
    FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
            .build();
    FirebaseFirestore.getInstance().setFirestoreSettings(settings);
    
  • 方案4:更换更高版本的模拟器
    直接使用API 31及以上版本的模拟器,该版本对conscrypt隐藏API的限制放宽,不会触发反射调用失败的崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:09:00