解决Google Play无法连接服务器问题_steps及原因分析

13次阅读
没有评论

如何解决Google Play服务无法连接的问题

近日,遇到一个棘手的“故障”——Google Play服务提示无法连接服务器。在经过一番排查之后,终于找到了问题的核心及解决方法。

问题现象

  • 用户反馈在使用Android设备(摩托罗拉里程碑2)时,Google Play不能正常使用。查看日志后发现:
  • logcat输出中包含IP地址。
  • 使用此IP无法访问相关网站。

根据这些信息,可以推测:

  1. 设备被某些服务或应用程序劫持了:可能有一个指向恶意目标的hosts记录,导致在尝试连接Google服务器时被重定向到了错误的信息或位置。

技术分析与排查流程

  1. 查看logcat日志获取IP地址
    从logcat的日志中提取IP(这里以74.125.93.113为例)。

  2. 浏览器访问测试
    使用浏览器尝试访问该IP,结果连接超时。这表明实际地址或服务器状态并不支持这种请求。

  3. 查询IP反向解析
    通过host命令检查IP对应的域名信息。
    shell
    host 74.125.93.113

    输出可能类似于:113.93.125.74.in-addr.arpa domain name pointer qw-in-f113.1e100.net,这没有直接告诉我们问题所在。

  4. 查找设备中相关条目
    通过查看Android设备/etc/hosts文件(需要root权限),发现了如下一行:
    shell
    74.125.93.113 android.clients.google.com

    进一步查询 android.clients.google.com 的IP,发现该地址已不再有效。

解决方案

由于这个条目在 /etc/hosts 文件中被直接指向了错误的IP,需要移除或注释掉这一行来解决问题。具体操作如下:

  1. 获得root权限并通过终端进行操作:以下是详细步骤:
  2. 使用具有root权限的终端工具(如Android Terminal Emulator)。
  3. 检查系统分区是否读写状态:
    shell
    mount | grep system
  4. 假设结果为 ro 且无法编辑,进行挂载转换操作使其可写:
    shell
    mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
  5. 编辑hosts文件,使用 vi 命令或任何支持的文本编辑器:
    shell
    vi /etc/hosts

    注释掉有问题的行。
  6. 保存后再次重新挂载回只读状态防止不必要的变更:
    shell
    mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system

通过这类手动干预和修正操作,理论上可恢复Google Play的正常运行。当然,在进行此类更改之前一定要谨慎行事,并确保备份重要数据。

这种排查及解决方法对其他遇到同样问题的用户具有很高的参考价值和通用性。

正文完