最近买了红米Note3全网通,小米系统真的用不惯,于是刷了lineage OS(前身为CM OS)为了解决原装的Android 系统WIFI无法连接、信号差的问题。我必须去掉WIFI和运营商信号出现感叹号或者叉号的问题,解决了这个问题基本就解决了“WIFI无法连接”的问题,也美观不少。(原因是大陆屏蔽了谷歌服务导致,所以我们要么关闭谷歌服务信号验证,要么更新服务网址。我选择关闭,因为省电)。只要是国外第三方安卓原装系统ROM,无论是安卓5.0、6.0、7.1、8.0都会有这个问题。
(以下内容来源网络,整理了下)
解决之前分root用户和非root用户
root用户:
有人说下载“叹号杀手”应用并安装,利用终端或者ADB搞定,本人利用终端。谁知道人家提供的APP是否安全呢,所以推荐ADB命令解决。
其实如果你刷的是CM/lineages OS(我的是lineage OS)、或者魔趣第三方ROM的话,可以开启终端 在终端执行adb命令,告别与电脑连接的麻烦。前提是要root,并在开发者选项中的root授权选择ADB和应用,同样终端开启也是在“开发者选项”内。
非root用户:
第一步:准备工作(也可以使用终端)
进入开发者选项打开USB调试(这个都会吧?在设置——关于手机——狂点版本号几下,就能进入开发者选项了)
然后手机用数据线连接电脑,安装手机驱动,可以在电脑上装个360手机助手或者豌豆荚什么的,就自动装了。
第二步:使用ADB工具
ADB工具的网址:链接:http://pan.baidu.com/s/1dEJKezB 密码:rnkv
下载解压后,双击打开那个“打开adb.bat"
第三步:手打输入下面这行代码
adb shell "settings put global captive_portal_server noisyfox.cn"
如果它后面不跳出什么一大堆奇怪的英文,就说明成功了。然后,打开手机飞行模式,再关闭,看看,是不是WIFI感叹号没了呢?此方法适用于从安卓5.0至安卓7.0
安卓 9以上
删除变量&关闭检测
adb shell settings delete global captive_portal_mode (可不用)
adb shell settings put global captive_portal_mode 0 (注:Android 8 不需要执行这一条,关闭后VPN将无法访问外网网络,关闭后再势利还原可以换搞定)
如何还原
adb shell settings delete global captive_portal_server
adb shell settings put global captive_portal_detection_enabled 1
查看当前状态: adb shell settings get global captive_portal_mode
当然,除了noisyfox,也可以使用其他网址换掉,比如:
www.v2ex.co
liukebin.avosapps.com
www.iwch.me
connect.rom.miui.com
都是热心网友提供
-------------
ps:上面提供的办法并没有完全关闭感叹号,因为感叹号承担着检测你连的wifi是否有连上互联网的功能(谷歌在中国被墙所以就一直感叹号),如果要完全关闭感叹号也是可以的,root用户用叹号杀手在右上角把检测点掉。
▼展开可见
删除变量&关闭检测
adb shell settings delete global captive_portal_mode adb shell settings put global captive_portal_mode 0 (注:Android 8 不需要执行这一条)
执行上述两条命令中,可能会出现
*daemon not running; starting now at tcp:5037
*daemon started successfully
证明adb已经成功连接上手机(TCP端口不一定相同),无影响。
执行adb shell settings get global captive_portal_mode,返回结果应为0。
删除并修改验证服务器
这里修改为小米的验证服务器,在国内应该是延迟最低的。另有其他选择,可自行替换:
华为: connectivitycheck.platform.hicloud.com/generate_204
Vivo: wifi.vivo.com.cn/generate_204
Google 大陆: g.cn/generate_204
Cloudflare: cp.cloudflare.com/generate_204
评论区提供的其他验证服务器,应该也是有效的
曦醬:安卓有国内网站的,只要把com改成cn就是安卓中国了
maidmeow4:国内还可以用 connectivitycheck.gstatic.com / www.gstatic.com / ssl.gstatic.com ,国内会自动解析到北京Google那边,在境外的话又能解析到Google全球网络去。
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 https://connect.rom.miui.com/generate_204
测试
adb shell settings get global captive_portal_mode 高版本 Android:null 低版本 Android 未执行 `adb shell settings put global captive_portal_mode 0` 的,应为 1 adb shell settings get global captive_portal_http_url 返回上面设置的 http 验证地址 adb shell settings get global captive_portal_https_url 返回上面设置的 https 验证地址
完成后,断开手机和计算机的连接,打开飞行模式稍等后关闭,WiFi图标上的叹号/叉号即消失
注意:root后的用户首先要获得权限,在终端模拟器中输入su后回车获得权限,然后再执行指令:
建议是关闭谷歌服务,执行下面这个命令。因为关闭谷歌服务后省电。
settings put global captive_portal_detection_enabled 0
升级到了7.1.2以上版本注意了,配置改了,需要用另外一个命令:
su 回车键
settings put global captive_portal_mode 0 回车键
之后飞行模式一下,就可以了。在PC整了几个小时,不如在终端1分钟。(目前利用终端使用此命令)
参考:
原生安卓WiFi信号去叹号去叉教程5.0-Android P
适用于Android 10的去除WiFi叉号/感叹号方法(无需配置环境变量)
无需 Root 消除 Wi-Fi 和移动网络上出现的感叹号丨一日一技 · Android
某脑残网友说没用,我并在留言骂人。如果没用折腾有什么用?
miui挺好的,就是每天推送一堆无聊的东西
呃,魅族的没有谷歌框架,貌似没遇到过。