空鸣深语

空鸣深语

马上订阅 空鸣深语 RSS 更新: https://blog.deepchirp.com/atom.xml

root仍在路上,现实却愈发收紧

2025年8月19日 16:30

本文的封面图来源于Pixiv,原作者是TID

我的第一台手机是三星的G5109,搭载Android 4.4.4系统,存储空间仅有16GB。这台机器从电信渠道购入,每次恢复出厂设置都会自动安装一批运营商相关应用。这些软件预先存储在手机上的system分区中,既占空间也难以移除干净。因此我想着把手机root,从根源上删除那些安装包。当时root手机很简单:要么使用一键root工具,要么刷入第三方Recovery并用SuperSU管理授权。同时,由于机器性能孱弱,我还用MyAndroidTools(俗称「写轮眼」)禁用QQ、微信的部分组件,以减少资源占用。

如今硬件性能和系统功能都显著提升,root看起来不再「刚需」。以我现在的主力机Redmi K60 Pro为例,使用首年即使并未root,也感觉够用了;但随后还是选择了root——为了更多的可能、更好的体验。

好处

保护隐私

我之所以root,主要还是出于隐私考虑。国内许多软件并不安分,会在公共存储写入可跨应用读取的持久标记,形成跨应用的跟踪面。如果不root,确实对它们束手无策。Google虽也意识到了这个问题,例如在Android 10引入了分区存储特性,并在后续版本中持续收紧,但时至今日尚未完全解决。而在root后,通过存储空间隔离之类的软件,可以将不同软件的数据隔离开来,防范不同应用间的跟踪数据共享。此外,BlockerApp Manager等软件能够禁用一些应用组件,包括跟踪器、广告等。

另一方面,国产系统本身也存在隐私问题,一些国产Android系统会将用户数据上传至云端。在小米手机上,可以使用HyperCeiler等软件,禁止系统上传已安装应用列表等。

扩展功能

小米系统的某些功能仅部分机型可用。其中一些情况是硬件所致,例如AI能力需NPU支持;而另一些情况则是软件限制,如超级壁纸仅在部分机型上可用。对于后者,可以在root之后解除相关限制,例如晕车缓解、录像时使用4K 60fps等功能。此外,官方系统并未提供部分功能,例如原先系统中不支持调节手电筒亮度,只能依靠其他模块完成。

还有一些有趣的实验性功能显然不会在普通系统中提供。比如,MSD可以将手机模拟为大容量存储设备:例如能将ISO文件模拟为光驱,让电脑从中启动。

其他方面

root后还能完成其他一些操作。我的电脑与手机均使用了RIME输入法引擎,root后使用Syncthing,可以实现多端数据同步(因为Syncthing需要读写其他应用的数据文件,而不root则做不到这一点)。AdGuard在root后才能将根证书安装到系统分区中,从而实现HTTPS过滤,还可自动配置网络,无需占用VPN槽位。F-Droid需要向系统分区中安装特权扩展,以实现自动更新等功能。先前的博文中也提到,root后可以解除Google Play商店的自我更新限制,还可维持微信正常的FCM推送

调整调度也是津津乐道的话题。例如Scene可以检测、调节手机性能,而AsoulOpt模块可以优化游戏的线程调度,进而改善性能。我虽然使用了这些软件,但基本不会在手机上打游戏,所以不清楚效果几何。

除此之外,还有强大的LSPosed框架,可以在不修改应用本身的情况下控制其行为。先前提到的HyperCeiler即依赖于此。利用这个框架,Thanox可以控制各应用的自启动、关联启动等,还可避免应用被系统杀死;QAuxiliary知了mbga等模块则让相应软件更加好用;异常跟踪则可以完整显示应用崩溃后的错误日志。

坏处与局限

首先,手机root需要先解锁Bootloader,而不少国内的手机厂商都在逐步限制Bootloader的解锁。先前小米的解锁政策十分宽松,但现在甚至还需要答题才能获取资格。幸亏我的手机型号较旧,能通过其他方法绕过。而就在前几天,一加的解锁也变成了人工审核,将来是什么情况,暂时无法预料。与手机厂商的限制相比,解锁需要清空手机数据,这就不算什么了。

其次,root后还需要考虑隐藏root的问题,这不是一劳永逸的。其实以前我也考虑过,隐藏root是不是不道德:因为root之后,即可控制软件的运行过程,而这可能是软件开发者不愿看到的。但我发现,在仅root的情况下,QQ就会把我的账号冻结,于是打消了这一顾虑,否则根本无法正常使用软件。为此,得安装隐藏应用列表之类的软件,防止不安分的软件获取已安装的应用信息(直接不授予「获取应用列表」的权限不一定可行,因为某些应用会绕过相应机制)。然后,若要通过谷歌验证,则需要使用Play Integrity Fix以及Tricky Store,由于谷歌经常吊销泄露的证书和密钥,所以也需要时常更新这两个模块的数据。此外,可能还需要使用Treat Wheel、NoHello之类的模块隐藏root状态。尽管如此,QQ最新版的root检测还是非常厉害,为了账号不被封禁,我不得不使用旧版。

最后,还是老生常谈的安全问题。root本身并没有安全隐患,但解锁Bootloader会让安全性有所降低,让不信任的软件以root权限运行也会让设备面临风险。我认为只要不乱授予应用root权限、不随意安装模块,选用开源、可信赖的软件,那基本上就没什么问题。

总结

其实,root的性价比似乎没有想象中的那么高,因为投入远多于收益。有许多操作并不需要root就可以实现,例如:卸载系统应用可以通过adb实现Shizuku也可以在免root的情况下,实现停用应用、批量安装应用等操作。而我选择root,可能是心里的完美主义在作祟,想让手机成为我希望的样子。

我之后仍然会选择root,但对国内手机厂商的限制政策感到无奈。我认为既然用户购买了设备,那么就应该拥有高度的自由度和控制权。目前更像是只有使用权,而没有拥有权。同时,我也对QQ检测到root就封号感到不解,如果真的不想让用户root,那就检测到root后,直接禁止软件运行就足够了;诸如广告群发等违规行为,可以直接在服务端检测。我能理解root常与灰产、黑产相关联,但这样一刀切的方式,在我看来就是「懒政」的体现。