类原生 Android 系统的 WIFI 和时间设置

前言

在前几年刚上大学的时候,原生的 Android ROM 还不完善,各种第三方 ROM 层出不穷。要说当时比较出名的肯定是 CyanogenMod魔趣 了。前者一直和手机制造商“一加”合作,还得到了很多业界大厂的投资,后者不仅做 ROM;也是最大的中文刷机社区,由“马丁龙猪”带领和开发。当然这一切都需要手机制造商开源内核代码。

现在手机系统越来越完善,原来许多需要 root 才能进行的功能现在手机制造商的 ROM 也都自带了,如“微信双开”。愿意刷机和折腾手机的人越来越少,第三方的 ROM 也逐渐没落了。我也许是因为当时刷机的后遗症,总感觉买了 Android 手机老老实实用自带系统少了点什么。于是把之前捡垃圾的 Mi PAD 4 刷了 CarbonROM(非常简洁,还支持许多老的设备),也遇到了每个用类原生 ROM 的人都会遇到的问题:WIFI 和 时间。

1. WIFI 图标叉号的问题

手机连上 WIFI 后怎么知道这个 WIFI 可用呢?自然是打开个网页看看啊。ROM 也是这么想的,它会向设定的服务器地址发出请求,如果其返回 HTTP 的状态码为 204,则认为这个 WIFI 是可用的。而类原生系统设定的服务器在国内可能无法正常访问,于是就出现了明明可以上网,却有个叉号的问题,不仅看起来碍眼,而且可能还会干扰应用的运行(我的“极客时间APP”总是显示连接失败)。我们需要重新设定它的服务器地址:

使用电脑端的 ADB(用于调试 Android 手机的工具):

$ 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"

或在已 root 的设备上找到 终端(Terminal,Term)并打开,输入:

$ su	// 切换至 root 用户
# settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
# settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204

操作完成后需要重新开启 WIFI,如果还不行可以重新启动设备。

2. 时间无法同步的问题

也是因为服务器在国内无法访问的问题哈,操作方法也类似:

使用电脑端的 ADB

$ adb shell "settings put global ntp_server ntp1.aliyun.com"

或在已 root 的设备上找到 终端(或叫Terminal、Term)并打开,输入:

$ su	// 切换至 root 用户
# settings put global ntp_server ntp1.aliyun.com

操作完成后需要重新开启时间同步功能,如果还不行可以重新启动设备。

后记

最后放一张动图来纪念一下早已停止维护的 CyanogenMod 和 自己曾经的玩机历程:

参考

[刷机] WiFi和移动网络的叉号或叹号原因以及去除教程
https://www.lineageos.org.cn/thread-118-1-1.html

Android修改时间同步服务器
https://blog.csdn.net/lemisky/article/details/116203358