去除WIFI和信号的X或感叹号教程

作者:芝士

问题的根源:网络连通性检查 (Captive Portal Check)

安卓系统为了判断你是否真正连接到了互联网,会自动访问一个预设的服务器。

LineageOS 作为一个原生风格的系统,默认的检查服务器是 Google 的 connectivitycheck.googleapis.com。如果你在中国大陆,由于网络环境原因,这个地址是无法访问的。因此,检查永远失败,感叹号就一直存在。

解决方案:修改连通性检查服务器(推荐)

这是最根本、最完美的解决方法。你需要通过 ADB 命令将这个检查服务器的地址修改为国内可以正常访问的地址。

准备工作:

执行命令:

打开电脑的命令行工具(Windows 的 CMD 或 PowerShell,macOS/Linux 的终端),依次输入以下命令。你可以从下面的服务器地址中任选一组来使用。

方案一:使用 V2EX 的服务器(非常流行)

adb shell settings put global captive_portal_http_url http://www.v2ex.com/generate_204 adb shell settings put global captive_portal_https_url https://www.v2ex.com/generate_204

方案二:使用小米的服务器

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 https://connect.rom.miui.com/generate_204

方案三:使用 Cloudflare 的服务器

adb shell settings put global captive_portal_http_url http://cp.cloudflare.com/ adb shell settings put global captive_portal_https_url https://cp.cloudflare.com/

操作完成后:

重启手机,或者开关一下飞行模式,感叹号应该就会消失。

备用解决方案

如果上述方法无效,或你不想使用 ADB,可以尝试以下方法:

方案四:彻底关闭连通性检查(不推荐)

这个方法会让感叹号消失,但也会带来一个副作用:当你连接到需要网页登录的公共 Wi-Fi (例如机场、酒店的 Wi-Fi) 时,系统可能不会自动弹出登录页面。

执行命令:

adb shell settings put global captive_portal_mode 0

要恢复检查,执行 adb shell settings delete global captive_portal_modeadb shell settings put global captive_portal_mode 1 即可。

方案五:使用科学上网工具

如果你有可用的 VPN 或代理工具,并设置为全局代理,手机能够访问到 Google 的服务器,感叹号也会自然消失。但这治标不治本,一旦关闭工具,问题会重现。

一图看懂 & 总结

症状 根本原因 最佳解决方案 (命令)
Wi-Fi/信号有 ! 感叹号 系统无法访问 Google 的网络检查服务器 connectivitycheck.googleapis.com 通过 ADB 修改检查服务器地址。
adb shell settings put global captive_portal_https_url https://www.v2ex.com/generate_204

总结一下:

这个问题几乎是所有在中国大陆使用类原生安卓系统(如 LineageOS, Pixel Experience)的用户都会遇到的。最佳且一劳永逸的解决方法就是使用第一种方案,通过 ADB 命令将检查服务器换成国内可以访问的地址。 执行一次,永久生效。