与 google 服务器通信时出现问题?我好像找到原因了

2019-04-25 22:42:19 +08:00
 phoolean

前几天忽然发现我的小米 mix2s 和红米 note7 出现了一种很奇怪的现象:浏览器能访问 google,而谷歌系的 app 连不上服务器,但此时另一台 nexus5x 却完全正常,这三部手机连接的是同一台自动分流代理的路由器。我以为是账号出现问题就想退出后再登录 google 账号,结果发现怎么也登不上去了,两部小米手机一直提示与 google 服务器通信时出现问题。

我按照网上各种解决方法所说的开定位、用谷歌安装器重装 gms,结果这些方法只对红米 note7 有效。更奇怪的是一天之后红米 note7 又连不上了。后来我又发现这种情况只出现在手机连接 wifi 时,如果在手机上打开代理则能正常连接。

之后我想用 charles 和 wireshark 抓包看看到底哪儿出了问题,没想到手机在登录 google 账号时基本没有数据包发出。然后我又用 adb 导出了手机启动后的日志,才发现了原因:

54:53.573 I octvm : [arg_idx 7]: /system/bin/mcd init sudebug init_gms_iptable_chain gms_wall 10035 REJECT

54:53.573 I octvm : run command: iptables -N gms_wall

54:53.573 I octvm : iptables -A gms_wall -m owner --uid-owner 10035 -j REJECT

55:07.086 I octvm : run command: iptables -D INPUT -j gms_wall

55:07.086 I octvm : iptables -A INPUT -j gms_wall

55:07.129 I octvm : run command: iptables -D OUTPUT -j gms_wall

55:07.129 I octvm : iptables -A OUTPUT -j gms_wall

一个名叫 mcd 的系统程序,在 iptables 里写了规则,把 uid 为 10035 的用户相关的包拒绝了,在我手机上 gms 相关进程所属的 user 是 u0_a35,也就是 uid 为 10035。

没想到竟然是小米的 rom 屏蔽了 google play 服务,真的是无语了。

107421 次点击
所在节点    Android
146 条回复
phoolean
2020-04-28 23:38:43 +08:00
@jssss 开发版应该没有这个问题,你看看 iptables 还有没有 gms_wall 这条链,删掉规则就行了
jssss
2020-04-29 14:25:06 +08:00
@phoolean ee,请问 iptables 怎么弄? 我用手机分身尝试下谷歌配套,直接提示不适用本机型号。。。
jssss
2020-05-04 14:23:10 +08:00
miui12 可以查看应用行为记录,发现服务框架被拒绝启动,我已经将权限都打开了,但是仍然被拒绝? 请问这是什么情况? 有没有解决方法?
octalempyrean
2020-07-13 21:43:09 +08:00
@jssss 谢啦,老哥,困扰好久,我就这问题,开发版,突然这样了,原来没问题👌🏻。
Imfondof
2020-09-21 17:36:31 +08:00
MIUI12 android10 (以下多个方法依次尝试)

1 、重启

2 、卸载 google 三件套,使用 go 重新安装,重启

3 、应用设置 google 服务 设置为自启动

4 、以上方法还不行,在小米的 下载管理 app 里关闭迅雷下载引擎,重启
aprill
2022-05-26 19:59:56 +08:00
MIUI 12 Android 9
上面推荐的都试过,最后搜到将工具由 v2 换成 ss 即可正常连接.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/558774

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX