2025 年了,我为什么还需要 root

2025 年了,我为什么还需要 root


想回答这个问题其实很简单,看一眼超级用户列表就知道了:

/images/e49_p1.jpg

将它们简单归一下类:

内核调校类 #

  • EX Kernel Manager:老牌内核管理器,爱来自flar2。
  • SmartPack-Kernel Manager:古董级内核管理器,是另一个古董级内核管理器Kernel Adiutor的魔改版,现在的话并不推荐使用。
  • Kernel Flasher:刷内核用的(才注意到这个项目已经archive了,可惜)。
  • KonaBess:经典的高通gpu超频降压工具,爱来自libxzr。

系统优化类 #

  • CaptiveMgr:用于将captive portal服务器修改为国内的(实际上两行shell命令就能搞定)。
  • MyAndroidTools:老牌app调校工具,可以禁用毒瘤app的服务、广播接收器等,但对于现在的Android系统来说已经用途不大了。
  • 黑阈:老牌毒瘤app压制工具,简单,好用,省心。

系统监测类 #

  • DevCheck:经典的设备信息查看工具。
  • GSam Battery Monitor:经典的电量监测工具,现在似乎已经被Google Play下架了。
  • NoActive Monitor:NoActive开发者提供的“墓碑”监测工具,但我自己不用NoActive,用它只是方便检查哪些app在后台运行,以及RAM占用情况。
  • 隐秘参数:和DevCheck一样,用于查看设备软硬件信息。

实用工具类 #

  • RE管理器:老牌文件管理器,我从小用到大。
  • Solid Explorer:MD风格的文件管理器,好看,好用。
  • ZArchiver Pro:把它称作Android版的7-Zip应该不过分。
  • SD Maid:老牌垃圾清理工具,又是一个从小用到大的app。
  • Swift Backup:app备份工具,钛备份的优秀继承者,付费版支持直接将备份文件加密上传到云盘。
  • Termux:功能强大的终端模拟器。
  • 冰箱IceBox:用于冻结那些我每个星期顶多打开一两次的毒瘤app(比如某宝)。
  • Scene:了解我的人都知道,我不喜欢用各种乱七八糟的调度方案,因此在我这里Scene被划为“实用工具类”。

功能拓展类 #

  • DriveDroid:它的强大值得我专门设置一个分类,是真正的字面意思上把Android设备的功能进行了拓展。出门在外,手机+数据线就是一个甚至好几个PC系统维护盘,妈妈再也不用担心我忘带U盘了。

HyperCeiler、MIUI性能救星、启动遮罩优化、HMA属于Xposed模块,KsuWebUI用于为Magisk用户提供模块WebUI支持,QuickEdit是一个文本编辑器app,因此它们不属于以上任何一类。

Magisk模块:Android root史上最伟大的发明,没有之一 #

说实话,在Magisk刚发布的半年内,我还是一位SuperSU钉子户。但后来嘛,SuperSU被卖给了一家中国公司,广大root玩家对其充满了不信任,并且更新几近停滞,而彼时Magisk在积极地更新,我心想那就换Magisk试试吧,结果这一换就再也不想回去了。

Magisk比SuperSU强在哪?那一定就是Magisk模块功能。

以前,开发者们如果想要修改系统分区,就只能把系统分区挂载为读写直接修改,这带来了两个问题:一是安装容易卸载难,用户在安装了你的修改补丁之后,如果哪一天不需要了,那他要么去求助补丁开发者,要么自己研究补丁包修改了哪些东西然后自行还原,要么就只能dirty flash rom了;二是破坏了系统OTA功能,OTA包通常是直接对系统分区进行打补丁(而不是给系统文件打补丁),因此安装OTA之前安装程序会检查整个系统分区,确保其没有被篡改,一旦检测到任何篡改就不能安装OTA,甚至有时候仅仅因为你曾经把系统分区挂载为读写过也会被检测到篡改。

另一个常见的场景是开机过程中执行shell命令。在Android 8.0以前的时代,内核开发者们若是想要实现安装内核后开机自动执行一些修改内核调度参数的命令,通常会修改boot分区的ramdisk,添加新的rc脚本文件,然后注入init.rc,那么这带来了同样的问题:安装容易卸载难,不同内核注入了不同的rc脚本还有可能会导致冲突。而对于其他情况,开发者们则是会把脚本文件放到/system/etc/init.d,但没有人能给你打包票init.d里的脚本文件一定会被执行。

Magisk模块的诞生彻底解决了以上这些痛点。

  • Magisk模块通过magic mount将需要修改替换的系统文件挂载到系统分区,这个过程并不会真正地修改系统分区,因此不会影响OTA。想要取消模块对系统分区的修改也很方便,禁用或卸载模块即可。
  • 开发者们可以把需要开机执行的脚本交给Magisk模块,并且脚本会主动使用Magisk内置的busybox,尽可能确保在不同设备不同环境下总能得到一致的执行效果。

也许新生代的root玩家对于模块早已习以为常,但只有从那个蛮荒时代过来的人们才会像我一样为这一伟大的发明发出感叹。

嗯?你问我装了哪些模块?说说也无妨,除了几个很(lan)常(da)见(jie)的模块(LSPosed-IT、Shamiko、Tricky Store、ZygiskNext)之外,就是osm0sis做的adb、fastboot、busybox、nano模块,以及为了在国内接收FCM而不得不装的FCMHostsForChina模块,YuKongA的HyperOS高级材质模块,最后一个就是自用的自定义模块(用来换开机动画、加一些7za、htop之类的常用工具、以及加一些自定义优化)。

Xposed模块:从拯救AOSP rom到拯救国产rom #

Xposed的历史几乎和Android root史一样悠久,最早可以追溯到Android 2.3时代。那时很多国产系统都还没有做出自己的特色(除了MIUI),因此诞生于那个时期的Xposed模块更多的是针对类AOSP系统本身进行一些优化、美化和增强,比如用于自定义系统动画的XuiMod、用于状态栏变色的Tinted Status Bar、Perfect Color Bar、用于给Android 4.4通知栏背景添加模糊效果的Blurred System UI、用于完全自定义状态栏图标的Flat Style Bar Indicators、用于管理app权限的XPrivacy(你没看错,Android 6.0之前的时代你没法在系统设置中管理app权限)、用于屏蔽广告的MinMinGuard、用于压制毒瘤app的绿色守护和阻止运行、全能型的GravityBox、以及广大群众喜闻乐见的抢红包模块,等等。我敢说听说过这些古董Xposed模块的绝对跟我一样是玩机老登了。

/images/e49_p2.jpg

从Android 5.0开始,Google正式使用ART替代了Dalvik,ART的运行机制与Dalvik有很大不同,Xposed需要进行大量的重写才能兼容,导致Xposed的更新“断档”了一段时间;而同样是从这个时代开始,各种五花八门的国产UI也开始做出自己的特色,因此除了MIUI、FlymeOS等热门的UI之外,很少有Xposed模块专门为某某UI做适配;AOSP也开始变得肉眼可见的漂亮(特别是Android 6.0,我愿称之为AOSP历史上最好看的系统UI),各种AOKP项目(比如ResurrectionRemix、AospExtended、CrDroid、NitrogenOS等等)如雨后春笋般诞生,这些rom本身也都提供了一些增强功能和美化功能。因此,Xposed开始从“玩机必备”变得“可有可无”,而最后一个官方版Xposed支持的Android系统版本也停留在了8.0。

顺带一提,我在使用我的上一台主力机Redmi K30 4G时,用着自编译的基于Android 12L的crDroid v8.14 rom,完全没有使用Xposed模块的念头。

如今到了LSPosed时代,Xposed模块们又有何作为呢?浏览一下LSPosed的模块仓库列表就知道了,大致可分为以下几类:

  • App功能增强(比如哔哩漫游、微信防撤回、QQ防撤回、等等)。
  • 系统功能增强(比如HyperCeiler、状态栏歌词、核心破解、等等)。
  • 环境隐藏(比如HMA)。

相比以前是不是少了什么?对了,少了那些系统美化模块,以及特定于AOSP rom的模块。系统美化的话,各种国产系统有自己的主题商店,而AOSP rom则有Substratum;AOSP rom定制的话,各种AOKP项目添加的自定义功能已经能满足很多用户的需求了。

现如今,为了完善看上去也不怎么完善的HyperOS,以及隐藏环境,我也不得不刷上了LSPosed-IT,并安装了几个Xposed模块。

如果没有了root? #

首先,我没法站在所有root用户的角度去分析问题,这样会显得过于主观,因此我只站在自己的角度去探讨:如果我的主力机不再有root,那么将会发生哪些变化?

  • 没法开发内核了:没有root的话,就算我能把内核刷进去,我也没法调整参数(zram、swappiness这些),甚至连内核日志都看不了,那还开发个锤子?
  • 没法压制毒瘤app了:虽然目前各种国产rom对毒瘤app的压制已经算是“八仙过海各显神通”了,但我更希望掌握自主权,况且有朝一日我换成了AOSP rom该咋办?
  • 没法按照自己的喜好定制系统了:没有了诸如HyperCeiler之类的Xposed模块,我就只能忍受系统的各种缺点和不完美的地方了。
  • 没法使用DriveDroid了:再次吹爆DriveDroid!

总结 #

Android root,这一亘古不变的话题,诞生于AOSP,也和AOSP的开源精神一样,成为了另一种相辅相成的精神。

作为一名从Android 2.2一路过来的玩机老登,我无法忘记自由探索系统分区的乐趣,无法忘记初上手Viper4Android音效给我带来的震撼,无法忘记体验各种rom的新鲜感,无法忘记第一次编译并刷入内核的喜悦,无法忘记第一次编译并刷入rom的兴奋。正是因为有了root,我手上的这台Android手机才不再只是一台手机,不再是某某厂商的手机而是一台只属于我的手机。

只要还有坚持极客精神的Android用户,Android root就永远不会消失没落。

Table of Contents