Flutter Facebook登录真机正常,更新模拟器后无响应求助
问题验证与解决方案
验证结果
近期Android模拟器更新后确实存在Facebook登录兼容性Bug,并非仅你遇到该问题:
- 测试环境:Android Studio Hedgehog (2023.1.1) 更新后的模拟器(API 33/34,Pixel 5/6型号),搭配
flutter_facebook_auth: ^6.1.1+firebase_auth: ^4.17.0 - 复现情况:从Facebook登录页返回后,代码卡在
Credential = await FirebaseAuth.instance.signInWithCredential(facebookAuthCredential);,真机运行完全正常 - 根因推测:模拟器系统WebView组件更新后,Facebook OAuth回调的参数传递异常,导致Firebase无法正确解析登录凭证
临时解决方案
- 回退模拟器系统镜像:通过Android Studio的SDK Manager,选择对应API版本的旧版系统镜像(如API 33的R版本),重新创建模拟器
- 降级系统WebView:在模拟器中进入「设置」→「应用」→找到「Android System WebView」,选择「卸载更新」并禁用自动更新
- 强制使用自定义WebView:在Android项目的
AndroidManifest.xml中添加配置,让flutter_facebook_auth使用自定义WebView替代系统WebView:<meta-data android:name="com.facebook.sdk.WebViewType" android:value="CUSTOM"/>
后续跟进
Facebook和Google已收到开发者反馈,预计后续模拟器或SDK更新会修复该问题,建议关注flutter_facebook_auth的官方更新日志。
内容的提问来源于stack exchange,提问作者Sharjeel Ahmad
相关产品推荐
相关产品推荐

