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

Flutter Android端使用Firebase服务(OTP/动态链接)报错求助

Flutter Android端Firebase服务报错(DeadObjectException)排查方案

报错信息

W/GmsClient(29923): IGmsServiceBroker.getService failed
W/GmsClient(29923): android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died, but this could also be caused by running out of binder buffe
W/GmsClient(29923):     at android.os.BinderProxy.transactNative(Native Method)
W/GmsClient(29923):     at android.os.BinderProxy.transact(BinderProxy.java:584)
W/GmsClient(29923):     at com.google.android.gms.common.internal.zzac.getService(com.google.android.gms:play-services-basement@@18.0.0:8)
W/GmsClient(29923):     at com.google.android.gms.common.internal.BaseGmsClient.getRemoteService(com.google.android.gms:play-services-basement@@18.0.0:14)
W/GmsClient(29923):     at com.google.android.gms.common.api.internal.zabt.run(com.google.android.gms:play-services-base@@18.0.1:7)
W/GmsClient(29923):     at android.os.Handler.handleCallback(Handler.java:942)
W/GmsClient(29923):     at android.os.Handler.dispatchMessage(Handler.java:99)
W/GmsClient(29923):     at android.os.Looper.loopOnce(Looper.java:201)
W/GmsClient(29923):     at android.os.Looper.loop(Looper.java:288)
W/GmsClient(29923):     at android.os.HandlerThread.run(HandlerThread.java:67)

排查方案

  • 检查设备Google Play服务状态
    报错核心是GMS服务进程异常,先确认设备上的Google Play服务状态:

    1. 打开设备「设置」-「应用」-「Google Play服务」
    2. 点击「检查更新」,安装最新版本
    3. 若更新后仍报错,尝试清除Google Play服务的缓存和数据,重启设备后再测试
  • 核对Firebase依赖版本兼容性
    Flutter Firebase插件与Android端GMS依赖版本不匹配也会触发这类问题:

    1. 确保pubspec.yaml中所有Firebase相关插件(如firebase_core、firebase_auth、firebase_dynamic_links)使用兼容版本,参考官方插件文档确认版本组合
    2. 打开Android项目级build.gradle,检查com.google.gms:google-services版本与插件依赖的GMS版本是否一致,避免版本冲突
  • 重新校验签名信息
    即使已配置SHA1/SHA256,也可能存在环境或配置遗漏:

    1. 用Android Studio生成签名报告:执行「Gradle」面板→项目名→android→app→Tasks→android→signingReport,查看debug和release环境的SHA1/SHA256值
    2. 登录Firebase控制台,确认对应Android应用的签名证书指纹包含上述所有值,无debug或release环境的指纹遗漏
    3. 重新下载最新的google-services.json,替换到Android项目的app目录下
  • 清理项目缓存并重建
    缓存残留可能导致配置未生效:

    1. 执行终端命令:flutter clean
    2. 删除Android项目下的.build文件夹
    3. 执行flutter pub get,重新运行项目
  • 排查Binder缓冲区溢出问题
    报错提示可能是Binder缓冲区不足,可尝试:

    1. 检查Firebase动态链接、OTP请求中是否携带过大参数,尽量精简传递的数据量
    2. 临时在AndroidManifest.xml的<application>标签中添加android:largeHeap="true",增大应用堆内存验证是否解决(优先优化数据传递,此为临时方案)
  • 更换测试设备/模拟器
    如果仅在特定设备出现问题,大概率是该设备的GMS服务异常:

    1. 换一台真机测试,或使用Android Studio创建带Google Play服务的新模拟器,验证报错是否复现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:15:41