事情是这样的,前几日将我的redmi k30pro从sparkos更换系统到PixelExperience了,本质上这两者都是android原生系统,所以都会继承原生系统在国内wifi受限的问题,如下图。
那sparkos很早之前使用的时候,已经通过magisk刷模块的方式解决了,但是刚换到PixelExperience,又不想折腾去找之前magisk的模块,所以就上网搜寻解决wifi受限(感叹号)的帖子,找到一个通过adb工具解决的方式。感谢原作者:裘庄三少,希望能帮到与我一样习惯使用安卓原生系统的朋友。
原因: 自Android 5.0起,谷歌引入了Captive Portal机制, 用于检测WiFi网络认证是否正常。 该机制默认检测访问的是谷歌服务器,需要科学才能正常访问谷歌服务器,如若没有WiFi就会出现网络受限的情况, WiFi图标上会出现一个感叹号标志,导致系统不能访问网络了。
解决方法1:
使用ADB 工具,无需要root权限
adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url
修改一下服务器的地址:
adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204
adb shell settings put global captive_portal_https_url http://captive.v2ex.co/generate_204
然后切换一下飞行模式, 激活一下就好。这个服务地址也可以用小米或者华为的两个地址:
http://connect.rom.miui.com/generate_204 or
http://connectivitycheck.platform.hicloud.com/generate_204
解决办法2,其实也就是1的延伸而已:
在AOSP源码中,disable captive portal service! 在AOSP目录下检索 “NetworkMonitor.java"文件
找到 mlsCaptivePortalCheckEnabled=getlsCaptivePortalCheckEnabled();
修改为: mlsCaptivePortalCheckEnabled=false;
下面,附上操作流程:我使用的是第一种方式,
一、打开手机开发者模式中的USB调试;
二、电脑装好adb工具,不会的朋友可以去baidu或者B站搜索相关内容,关键词:安卓adb调试工具安装;
三、打开windows的cmd工具,(快捷键win+x键,选择I选项,弹出windows powershell命令行窗口)
四、输入adb connect,电脑会尝试连接调试手机,此时手机端信任此电脑即可;
五、输入adb devices,查看是否已经连接上手机,如果手机已经连接上,会出现如下类似图片(有devices标识);
六、此时先删除旧的google服务器的http与https验证地址:
adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url
然后输入替换后的地址,如下(我用的是小米国内的网址)
adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_https_url http://connect.rom.miui.com/generate_204
不出问题的话,后续wifi受限感叹号的情况就不会再出现了,enjoy it!
文章评论