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

修改BundleID后调用verifyPhoneNumber()出现Binder事务失败求助

修改BundleID并更新google-service.json后调用verifyPhoneNumber()出现跨平台异常

问题描述

此前代码运行正常,修改BundleID并重新下载google-service.json文件后,项目出现异常:

  • iOS端:应用直接崩溃,无堆栈信息
  • Android端:调用verifyPhoneNumber()时出现!!! FAILED BINDER TRANSACTION !!!错误,堆栈信息如下:
E/JavaBinder(12658): !!! FAILED BINDER TRANSACTION !!!  (parcel size = 624)
W/GmsClient(12658): IGmsServiceBroker.getService failed
W/GmsClient(12658): 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(12658):     at android.os.BinderProxy.transactNative(Native Method)
W/GmsClient(12658):     at android.os.BinderProxy.transact(BinderProxy.java:584)
W/GmsClient(12658):     at com.google.android.gms.common.internal.zzac.getService(com.google.android.gms:play-services-basement@@18.1.0:8)
W/GmsClient(12658):     at com.google.android.gms.common.internal.BaseGmsClient.getRemoteService(com.google.android.gms:play-services-basement@@18.1.0:14)
W/GmsClient(12658):     at com.google.android.gms.common.api.internal.zabt.run(com.google.android.gms:play-services-base@@18.0.1:7)
W/GmsClient(12658):     at android.os.Handler.handleCallback(Handler.java:942)
W/GmsClient(12658):     at android.os.Handler.dispatchMessage(Handler.java:99)
W/GmsClient(12658):     at android.os.Looper.loopOnce(Looper.java:201)
W/GmsClient(12658):     at android.os.Looper.loop(Looper.java:288)
W/GmsClient(12658):     at android.os.HandlerThread.run(HandlerThread.java:67)
E/JavaBinder(12658): !!! FAILED BINDER TRANSACTION !!!  (parcel size = 624)
W/GmsClient(12658): IGmsServiceBroker.getService failed
W/GmsClient(12658): 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(12658):     at android.os.BinderProxy.transactNative(Native Method)
W/GmsClient(12658):     at android.os.BinderProxy.transact(BinderProxy.java:584)
W/GmsClient(12658):     at com.google.android.gms.common.internal.zzac.getService(com.google.android.gms:play-services-basement@@18.1.0:8)
W/GmsClient(12658):     at com.google.android.gms.common.internal.BaseGmsClient.getRemoteService(com.google.android.gms:play-services-basement@@18.1.0:14)
W/GmsClient(12658):     at com.google.android.gms.common.api.internal.zabt.run(com.google.android.gms:play-services-base@@18.0.1:7)
W/GmsClient(12658):     at android.os.Handler.handleCallback(Handler.java:942)
W/GmsClient(12658):     at android.os.Handler.dispatchMessage(Handler.java:99)
W/GmsClient(12658):     at android.os.Looper.loopOnce(Looper.java:201)
W/GmsClient(12658):     at android.os.Looper.loop(Looper.java:288)
W/GmsClient(12658):     at android.os.HandlerThread.run(HandlerThread.java:67)
E/JavaBinder(12658): !!! FAILED BINDER TRANSACTION !!!  (parcel size = 624)
W/GmsClient(12658): IGmsServiceBroker.getService failed
W/GmsClient(12658): 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(12658):     at android.os.BinderProxy.transactNative(Native Method)
W/GmsClient(12658):     at android.os.BinderProxy.transact(BinderProxy.java:584)

已尝试的无效操作:

  • flutter clean、flutter pub get、flutter pub cache repair
  • 删除build文件夹、.gradle文件夹、podfile.lock及pods文件夹后重新运行

解决方案

1. 核对google-service.json配置正确性

  • 打开下载的google-service.json,确认client[0].client_info.android_client_info.package_name与Android项目build.gradle中的applicationId完全一致(注意区分iOS的BundleID和Android的applicationId)
  • 确认Firebase控制台中已正确添加新的BundleID(iOS)和applicationId(Android),且下载的json属于对应项目

2. iOS端专项排查

  • 检查Info.plist中的Bundle ID是否与Firebase控制台注册的完全匹配
  • 在Xcode中执行Command+Shift+K清理构建文件夹,然后重新执行pod install后运行
  • 查看Xcode设备日志(路径:Window > Devices and Simulators > 选中目标设备 > View Device Logs),获取崩溃的具体原因(直接崩溃通常与签名、权限或Firebase配置不匹配有关)

3. Android端Binder错误处理

  • 确保app/build.gradle中apply plugin: 'com.google.gms.google-services'位于所有其他插件之后,避免配置加载顺序问题
  • 检查Firebase Auth相关依赖版本与其他GMS服务版本是否兼容,统一版本号可减少冲突
  • 优先使用真机测试,部分模拟器可能存在Google Play服务版本过低或缺失的情况
  • 更新设备上的Google Play服务至最新版本,再测试功能

4. 重置Firebase配置

  • 在Firebase控制台删除旧的BundleID/applicationId记录,重新添加后再次下载google-service.json替换项目中的文件
  • 确认Flutter项目中firebase_core已正确初始化,确保在调用verifyPhoneNumber()前完成初始化流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:45:38