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

Android应用FirebaseInstanceId获取Token失败:SERVICE_NOT_AVAILABLE求助

解决FirebaseInstanceId: Token retrieval failed: SERVICE_NOT_AVAILABLE问题

这种问题真的挺闹心的——明明之前一切正常,突然就卡在这里,哪怕注释掉所有Firebase相关代码还跳错,完全没法推进开发对吧?我来帮你梳理几个实战中大概率能解决问题的方向:

  • 检查Google Play服务版本
    FirebaseInstanceId核心依赖Google Play服务,很多时候这个错误就是因为设备/模拟器上的Google Play服务版本过低或者未更新。你可以这么做:

    • 真机:打开Google Play商店,搜索“Google Play服务”,检查是否有更新,安装最新版本后重启设备。
    • 模拟器:如果用的是Android Studio的模拟器,确保创建的系统镜像带Google Play标识(就是镜像列表里标着“Google Play”的那些),然后在模拟器里打开Play商店更新服务,或者直接更新模拟器的系统镜像版本。
  • 验证设备的日期和时间设置
    这个细节很容易被忽略,但Firebase的认证服务对设备时间同步要求很高。如果设备的日期、时间和实际UTC时间偏差太大,会直接导致SSL握手失败,进而触发这个错误。去设备设置里打开“自动设置日期和时间”选项,然后重启应用试试。

  • 清除Firebase相关应用缓存(针对真机)
    系统缓存偶尔会出问题干扰服务连接,你可以:

    1. 打开设备设置 → 应用 → 找到你的应用 → 存储 → 清除缓存和数据。
    2. 另外,也可以找到“Google Play服务”和“Google服务框架”,清除它们的缓存(注意别清除数据,避免影响其他应用)。
      操作完重启设备再运行应用。
  • 检查gradle依赖版本一致性
    哪怕你注释了自己的Firebase代码,项目里的依赖还是会加载Firebase核心库。如果你的Firebase依赖版本和Google服务插件版本不匹配,也可能引发这个问题。确保项目级build.gradle里的com.google.gms:google-services版本,和app级build.gradle里的firebase-auth、firebase-database等依赖版本是兼容的。可以统一升级到最新稳定版试试,版本兼容情况可以参考Firebase官方的版本对照表。

  • 排查代理或VPN干扰
    虽然你说网络正常,但有时候代理或者VPN会悄悄干扰Google服务的连接。如果设备正在用代理或VPN,先关掉它们,再重新运行应用看看错误是否消失。

  • 换设备/模拟器测试
    如果上面的方法都没用,可能是当前设备的环境有异常。换一台真机,或者创建一个新的模拟器镜像来测试,要是在其他设备上正常,那就是原设备的系统环境出了问题,可以考虑重置应用偏好或者恢复出厂设置(操作前记得备份数据)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:31:28