前几天忽然发现我的小米 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 服务,真的是无语了。
101
oovveeaarr 2019-04-26 15:29:56 +08:00
这个我还是倾向于省电策略一些的,之前用米酒的时候就发现了更激进一些的省电策略,猜测如下。
这个原理是 MIUI 为了省电把 Google 的 retry service timer 掐了 如果在被掐的时候进 426 看,可以看到 next retry time 是负数 但是 Google service framework 注册了网路环境改变事件,也就是你开关数据,连接 wifi,连接 vn 之类的 都会导致这个服务复活 从而继续连接 就是为了防止 Google 一直重试省电 PS:GCM 在大部分地区都没被禁止事项,只不过不太稳定而已。 |
102
hanqian 2019-04-26 16:49:29 +08:00 via Android
mcd 据我了解是 miui 的强力清理还是啥。这个应该是省电策略没错
这些本地化的 rom 也挺蛋疼的。这么搞可以理解,但不是最优选择 |
104
fish3125 2019-04-26 18:11:32 +08:00 via Android
我的米 9 最新正式版系统用路由分流也会,但是手机开下全局 openv 就好了^0^~。
|
106
baobao1270 2019-04-27 00:49:08 +08:00
红米 4A EU 版 MIUI 无此问题
米 8 国内稳定版 Google Apps 可连接但时常抽风 估计是在系统级有限制,想想之前小米系统内置浏览器屏蔽 GitHub 的事情 |
107
xieyudi 2019-04-27 02:56:24 +08:00 via Android 1
前阵子 steam 被 dns 污染,贴吧一堆人洗地,“肯定是 steam 服务器出了问题”,“看吧美国也出问题了”(确实刚好美国 cdn 抽风了几个小时的报道),“就算是国家行为,不让上是因为有害内容,肯定是为我们好”。
楼上一些帖子真是逗。真的是省电,为什么不用系统自带框架,而是后台偷偷改 iptables 这么阴的?为什么国际版无问题?怎么解释之前小米盒子 YouTube 应用无故消失的?也是为了省电吗? 背后的原因是什么谁都不好说。但考虑到某国的性质( ducai 军国,所有公司均有 dang 支部),小米与中殃的关系( cctv 钦点),助纣为虐的前科,而且多个品牌大陆 rom 都有类似问题,怎么看都是 “那个原因” 吧。 |
108
wxyedward 2019-04-27 11:48:56 +08:00
已换用 EU 版,感觉世界瞬间清静了
|
109
huiji 2019-05-25 15:05:43 +08:00
我也出现问题了 怎么解决
|
110
idxinxi 2019-06-12 10:21:09 +08:00
手机上开酸酸乳就可以用,路由器端智能开网页,APP 服务连不上
|
111
zxloveyyy 2019-06-13 17:04:12 +08:00
同样遇到这个问题, 路由器代理就会这样,手机 SSR 代理就不会出现问题
|
113
datou 2019-06-19 15:09:54 +08:00
|
115
DINKHo 2019-06-20 21:58:59 +08:00
我的小米 9SE 也有这个问题,
请问可以把 mcd 删掉或是修改权限(去掉 x )吗? 是不是删掉后就正常了? 删掉后会不会对系统有影响? 谢谢! |
119
idxinxi 2019-06-24 18:27:02 +08:00
手机端开酸乳可以连,用路由死活连不上
|
120
billytom 2019-07-13 19:28:25 +08:00
|
121
etnperlong 2019-07-31 11:07:05 +08:00 via Android
同样在研究怎么去掉这个规则
连不上 GMS 很是郁闷 |
122
phoolean OP @billytom 有三种方法:
1、稳定版 root,用 re 文件浏览器删掉 mcd 文件; 2、刷开发版 MIUI,开发版不存在这个问题; 3、稳定版使用手机分身,分身里 gms 的 uid 会变,mcd 无法拦截 |
123
phoolean OP @etnperlong 见上条回复
|
124
etnperlong 2019-08-09 21:00:07 +08:00 via Android
@phoolean 感谢!开发版果然👌
|
125
billytom 2019-08-10 12:15:53 +08:00
@etnperlong 请问开发版是怎么搞的?要解锁才能刷吗?
|
129
CloudnuY 2019-09-03 11:24:23 +08:00
亲测正式版 MIUI 10.3.17 电池优化里把 Google Play 设为无限制就可以通信正常了……
|
130
file0X0088 2019-09-22 12:13:40 +08:00
@CloudnuY note 7 pro 测试可用!
|
132
DINKHo 2019-10-13 20:02:16 +08:00
|
134
andywiny 2019-10-17 21:08:18 +08:00 via Android
@CloudnuY 果然设置为无限制就可以了,还一直以为是路由器代理问题,排查了 DNS,iptables 均无果,原来是这个原因...
|
135
jianzx 2019-11-22 10:07:01 +08:00
|
136
youtoshell 2020-01-29 11:04:31 +08:00 via Android
找了很久终于找到原因了
红米 note 7 pro miui 11.0.4 正式版也有这情况 只要在把 play 商店 电池优化设为无限制一段时间 iptables -nvL -line 查看 但 gms_wall 链还在,但 INPUT OUPUT 链中两条引用 gms_wall 作 target 策略自动取消了。 |
137
diligentpig 2020-02-28 22:55:34 +08:00
@CloudnuY 感谢,红米 note5 测试也是如此。新安装的 google 服务,过两天就用不了了,删了重装又能用,再次循环。。。直到电池优化里把 Google Play 设为无限制就可以通信正常了。
|
140
jssss 2020-04-28 21:23:22 +08:00
小米 mix2,开发版 miui12 ,重新下载,清除数据缓存,移出省电模式,删除 hosts 文件,这些方法都无法使用,有什么好办法吗?
|
141
phoolean OP @jssss 开发版应该没有这个问题,你看看 iptables 还有没有 gms_wall 这条链,删掉规则就行了
|
143
jssss 2020-05-04 14:23:10 +08:00 1
miui12 可以查看应用行为记录,发现服务框架被拒绝启动,我已经将权限都打开了,但是仍然被拒绝? 请问这是什么情况? 有没有解决方法?
|
144
octalempyrean 2020-07-13 21:43:09 +08:00 via Android
@jssss 谢啦,老哥,困扰好久,我就这问题,开发版,突然这样了,原来没问题👌🏻。
|
145
Imfondof 2020-09-21 17:36:31 +08:00
MIUI12 android10 (以下多个方法依次尝试)
1 、重启 2 、卸载 google 三件套,使用 go 重新安装,重启 3 、应用设置 google 服务 设置为自启动 4 、以上方法还不行,在小米的 下载管理 app 里关闭迅雷下载引擎,重启 |
146
aprill 2022-05-26 19:59:56 +08:00
MIUI 12 Android 9
上面推荐的都试过,最后搜到将工具由 v2 换成 ss 即可正常连接. |