Android端Firebase Auth认证持续报网络错误,常规配置排查后仍无法解决
排查步骤与解决方案
- 第一优先级:检查是否保留了本地模拟器适配代码
你当前测试Emulator时添加的auth.useEmulator("10.0.2.2", 9099)代码会强制所有认证请求指向本地模拟器地址,正式打包上线、真机连接线上Firebase服务前必须注释或删除这行代码,否则会一直请求本地不可达地址,直接触发你遇到的网络异常,该问题是同类场景下最高发的原因。 - 第二优先级:检查Firebase控制台签名配置完整性
仅配置debug环境的SHA-1无法满足正式打包的校验要求,你需要将release打包对应的SHA-1、SHA-256指纹都添加到Firebase控制台项目设置页,添加后重新下载google-services.json替换到项目app目录,重新编译打包后再测试。 - 第三优先级:排查网络环境限制
Firebase官方服务在中国大陆网络环境下无法直接访问,测试时可切换到境外网络验证,或改用Firebase中国区服务。如果是企业网络测试,确认网络防火墙没有屏蔽Google相关服务域名。 - 第四优先级:校验项目依赖与配置正确性
- 确认项目根目录build.gradle中
google()仓库优先级高于其他非官方仓库,避免拉取到异常版本的依赖 - 确认app级build.gradle末尾正确添加了
apply plugin: 'com.google.gms.google-services'配置 - 开启Firebase Auth调试日志排查细节:在Application的onCreate方法中添加
FirebaseAuth.getInstance().setLoggingEnabled(true),运行后查看日志中实际请求的目标地址、请求失败的具体原因。
- 确认项目根目录build.gradle中
- 第五优先级:清理冗余的网络配置
你当前同时配置了全局明文权限android:usesCleartextTraffic="true"和针对10.0.2.2的网络安全配置,可尝试移除全局明文权限配置,避免不必要的权限冲突,Firebase线上服务走HTTPS协议,不需要明文权限支持。
内容的提问来源于stack exchange,提问作者user10773921
相关产品推荐
相关产品推荐

