“都2023年了,真的还有人在刷机吗?”——在小米之家给手机贴膜时与小哥聊到安卓手机解BL、刷机,他的反应。
老老实实用不好吗?
其实小哥的反应也是目前大多数安卓手机用户的真实想法——国产安卓手机品牌经过这么多年的发展,早就摆脱了“不刷根本没法用”的阶段,甚至定制UI的一些性能优化和特色功能也会让发烧友在选择“是否转到国际版或者类原生系统”时犹豫再三。就拿我手头的 Redmi K50 Pro 为例,按照B站上的教程关闭系统广告后系统已经算得上时简洁易用;再安装李跳跳并且配置后台保活,绝大部分开屏广告也可以瞬间跳过;如果还想要使用一些优化应用的Xposed模块,安装太极使用免ROOT模式就好,不过是稍微麻烦了点……其实相当一部分玩机需求,根本不需要解锁Bootloader,更不需要获取ROOT权限,安装框架、模块之类的操作了。
那么,我为什么最终还要在玩机之路上折腾一大圈,选择了最复杂的方案呢?
那些令我不爽的“特性”
免ROOT方案虽好,但是总归有一些让人不痛快的地方:
- 使用太极-阴模式,安装、更新使用模块的应用都更加麻烦,缺少系统级权限,不能使用系统优化模块,模块还必须是可使用列表中的受支持的版本,往往不兼容最新版本,可选择性受限;
- MIUI总是有一些令人不快的小动作——更新后的软件包管理组件强制加入应用风险检测,安装只需要半分钟的小工具有时硬生生要先扫描一多分钟;通过云控限制处理器性能、调整快充策略,手机在不知不觉间变得更卡顿;
- 无障碍服务权限总在应用关闭或者后台进程结束后被关闭,使得我的 Bitwarden 密码库自动填充经常失效、再手动开启还得等那烦人的10秒警告读秒;
- 很多国产APP不遵守安卓开发规范,在存储空间根目录下随意创建文件夹、留下缓存和日志甚至是跟踪设备的标签等,肆意滥用存储权限但是难以治理
- ……
之前的折腾和为何选择这个方案?
很久之前就看到过DIYgod大佬所写的《我家 Android 初养成》,对于安卓系统折腾后种种特性印象深刻;之前也简单尝试过刷入乌堆大佬的MIUI官改包,当系统中已经安装了 Magisk ,我却感到无所适从,不知道要从哪里安装模块,如何隐藏ROOT权限……
不过,转机来源于太极的开发者——维术大佬在他的公众号上发布的《KernelSU: 内核 ROOT 方案,来了!》,我才意识到原来玩机圈原来已经开发出了内核级ROOT方案,在隐藏ROOT方面具有先天优势;《KernelSU: Root 兼容性大幅提升》中提到 KernelSU 已经兼容了很多ROOT应用和模块,已经具备实用性,非常适合尝试。
P.S. KernelSU仍在积极开发中,最近加入了 App Profile 特性——《KernelSU:用 App Profile 限制 root 权限,尝鲜来了》;同时也推荐一下维术大佬写的《当我们谈论解锁 BootLoader 时,我们在谈论什么?》、《何为 root?》这两篇文章,理解安卓系统ROOT的基础便于更好的玩机。
我是如何操作的?
注意:在开始之前,请确保你手机中的重要数据已经备份,因为接下来的每一步操作都有使手机系统损坏、丢失数据乃至“变砖”的风险;KernelSU并非适用于所有设备,请查阅 KernelSU Docs 来确认您的设备是否有官方支持或者第三方支持。
刷入KernelSU
在开始这一步之前,请确保你的手机已经解锁Bootloader,否则无法继续
- 手机下载安装底层探测器查看当前系统所在A/B分区情况,安装KernelSU管理器查看内核版本;
- 在tiann/KernelSU 的 Releases 页面下载适合设备的 boot 镜像;
- 手机关机后按住电源键+音量下键进入 Fastboot 模式;
- 电脑安装搞机助手,选择引导模式—刷入Boot功能,选择系统对应的分区刷入Boot镜像,重启后即刷入成功。
需要注意的细节:内核版本中的 SubLevel 不属于 KMI 的范畴,也就是说 5.10.101-android12-9-g30979850fc20 与 5.10.137-android12-9-g30979850fc20 的 KMI 相同,均可以使用;**下载 boot 镜像时注意文件名——后缀为-boot-gz.img.gz
的文件为联发科专用;后缀为-boot.img.gz
的文件为高通专用,与处理器不匹配会导致设备无法启动;下载的文件需要解压出iso文件才能使用工具刷入;强烈建议刷入前在MIUI ROM网站下载对应机型的原厂线刷包并提取boot.iso,方便后续救砖。
P.S. “得益于”联发科糟糕的救砖机制,刷入第三方REC(如TWRP Recovery)有因操作不当而变黑砖(无法修复,只能在售后更换主板)的风险,不建议Redmi K50、Redmi K50Pro等联发科设备使用 Recovery 刷入 KernelSU;同时不同于Magisk, KernelSU 仅支持在其管理器程序中安装模块,不再支持 Recovery 下安装模块。
安装模块/应用
考虑到大家的需求各不相同,这个部分将按照 Magisk模块、(部分情况下需要,或者完全依赖ROOT)的应用、Xposed模块三部分展开
Magisk模块
- Zygisk on KernelSU
用于KernelSU的Zygisk加载器,允许Zygisk模块在没有Magisk环境的情况下运行;也可作为 Magisk 的独立加载器。
人话:(暂时)没人写KernelSU专用模块,那就先借用Magisk的Zygisk模块吧——安装以下模块的基础。 - Shamiko
没有官方简介……说人话,使用Zygisk后容易露马脚被应用监测,而Shamiko就是为了为了过检测而生的。
P.S.Shamiko目前以及能够跟随KernelSU的root profile配置,无需手动配置WhiteList模式。 - LSPosed Framework
一个Riru/Zygisk模块,试图提供一个ART挂钩框架,提供与OG Xposed一致的API,利用LSPlant挂钩框架。
人话:不需要安装Xposed框架,一样使用Xposed模块。 - Sui
不需要安装Shizuku,依然可用使用Shizuku-API。 - Universal SafetyNet Fix
解决Google的SafetyNet和Play Integrity Proofation问题。 - A-SOUL Games Optimization
Android游戏线程调整程序,支持主流游戏,当然也支持一些小众游戏
P.S.一个魂都是很强的大佬~
实用应用
- InstallerX
有一种鸟儿是永远也关不住的,因为它的每片羽翼都沾满了自由的光辉! --《肖申克的救赎》
绕过系统安装组件的应用审查,更自由地安装第三方应用;免费应用,开源于GitHub——iamr0s/InstallerX。
- WooBox For MIUI
一个基于 MIUI13+(Android12+)适配的系统拓展Xposed模块,全面定制你的MIUI以及更多实用功能;免费应用,开源于GitHub——Simplicity-Team/WooBoxForMIUI
- 无障碍管理器
查看手机上已安装的全部无障碍服务和它们的详细信息、开关无障碍服务、可以保活无障碍服务、支持使用shizuku/root/adb来授权;免费应用。
P.S. 如果此应用被杀后台,建议使用WooBox For MIUI修改后台调度策略。 - 存储空间隔离
一个需要 root 的强大工具,重定向不遵守开发规则的毒瘤应用的存储空间目录到正确位置;订阅制付费应用;增强模式运行需要安装配套Magisk模块。
- Scene5
强大的手机性能调度管理工具,部分功能需要安装配套Magisk模块;最新版引入订阅制付费;历史免费版本(Scene4、Scene3)开源于GItHub——helloklf/vtools
- MT管理器
一款强大的文件管理工具和APK逆向修改神器。可以单纯地把它当成文件管理器使用,也可以用它做汉化应用、替换资源、修改布局、修改逻辑代码、资源混淆、去除签名校验等;免费应用,提供付费解锁全功能。
Xposed模块
- 哔哩漫游
解除B站客户端番剧区域限制的Xposed模块,并且提供其他小功能。
- 杜比大喇叭β版
杜比大喇叭β是一款网易云音乐的音源代理模块,初衷只是作者对网易云音乐的热爱,希望让更多的人使用网易云;模块工作原理为音源替换而非破解,所以单曲付费与无版权歌曲有几率匹配错误,真心支持歌手请付费;最新版本暂时未适配,同时对非会员暗降了音质,推荐只听音乐的云村居民使用431或者600版本以获得最佳体验。
- TiebaTS
提供修改百度贴吧底栏等个性化功能。
- 传送门增强
为 MIUI传送门 量身定做的增强模块
- Hide My Applist
虽然“检测安装的应用”是不正确的做法,但是并不是所有的与 root 相关联的插件类应用都提供了随机包名支持;此模块提供了一些检测方式用于测试您是否成功地隐藏了某些特定的包名,如 Magisk/Edxposed Manager;同时可作为 Xposed 模块用于隐藏应用列表或特定应用,保护隐私。
- dialog.box
这个模块可以取消一些被强制设置为不可取消的对话框,比如一些强制更新的对话框,以及一些广告。
隐藏ROOT/模块
KernelSU在理论层面上就具有反检测优势,在不安装任何模块,仅仅使用SU的情况下很难检测;上文中的Shamiko、Hide My Applist和dialog.box是为了隐藏Zygisk模块和Xposed模块,具体可以参考酷安上的这篇教程来进行配置。
注意:上面提到的教程脚本仅适用于运行在MIUI 14.0.2稳定版的magisk 24+,和本文的环境不同,建议仅参考其中的思路和部分配置文件,不要全盘照抄!
推荐使用下列检测工具测试隐藏效果:
由于此类技巧更新较快,本文在此不再赘述,如有问题,欢迎到酷安社区交流。
更新KernelSU
- 安装内核刷写应用Kernel Flasher,并且在KernelSU管理器中赋予ROOT权限;
- 在tiann/KernelSU 的 Releases 页面下载AnyKernel3的刷机包,注意内核版本号要匹配;
- 进入应用,查看标志着“已挂载”字样的插槽,选择“刷入”,单击“刷入 AK3 压缩包”,在文件管理中选择刚刚下载的AnyKernel3压缩包即可完成刷入。
P.S. 注意备份之前的boot,升级不需要电脑不意味着救砖不需要电脑……
还有什么好玩的?
ROOT之后,安卓完全拥有无限可能,以下是我简单列举的进阶玩法,不展开讨论,有兴趣的话可以自己探索
N多方式去广告
目前去除开屏广告的主流方式是通过无障碍服务模拟点击动作来“跳过”(其实还是会闪过画面),典型的应用是李跳跳;ROOT后,完全可以通过劫持Activity的方式来“移花接木”,直接绕过开屏进入主页面;此外,还可以修改系统hosts,在来源上杜绝广告资源加载。
更纯粹的Linux Shell
ADB Shell 的功能相比 Linux 并不全面,我们可以手动安装 BusyBox 来补全大部分功能;
另外,在手机上还可以使用更强大的Linux 终端仿真器应用。
深入底层的虚拟化\应用多开
如今 Android Kernel 的 kvm 功能完备,理论上可以模拟运行其他同处理器架构系统;类似于“炼妖壶”之类的虚拟化方案,使得系统应用多开成为可能。
以上就是我个人基于 KernelSU 的 Redmi K50Pro 玩机方案,如果有问题或者建议,欢迎一起交流探讨~
纯小白,在用太极 sizhuku,想了解 root 比他俩多什么功能,看看要不要搞 root
ii 05-18
首先,此教程仅供技术研究,我个人目前已经重新锁定BL锁,给主力机解锁刷机还是一个很有风险的操作,玩机有风险,刷前需谨慎;
其次,目前玩机主要玩的的模块而不是单纯的root权限,比如说要修改应用的功能大家一般用XP/LSP模块,修改系统行为一般用Magisk/KernelSU模块,单纯需要root的应用也有,但是大家很少用;
因此,如果您目前的玩机方案已经很稳定好用,我个人建议再找一个能说服自己root的理由,最好是一个必须使用root权限运行的应用/模块;如果单纯为了折腾,也要做好备份再搞。
alpacabro 05-20 回复 @ii
想请教一下如果是现在装了Magisk的机器,想迁移到KernelSU,是需要先卸载,再装KernelSU,还是可以装完再卸载Magisk?
valianliu 02-01
理论上两种方法都行,但是为了避免一些意料之外的问题,建议在已经下载好原版 ROM中 的 boot.img 后禁用并卸载所有 Magisk 模块并卸载,之后再 Fastboot 进行线刷安装 KernelSU。
alpacabro 02-05 回复 @valianliu
看了下kernelsu和magisk的模块功能并不兼容,装了magisk,还需要/可以装kernelsu吗?
看了描述,kernelsu好像可以无缝安装magisk的模块,并且更加安全,不容易被检测?
目前装了magisk的,是否需要切换到kernelsu,这2个是否无法也没有必要共存?
空空 2023-10-18
关于共存:(理论上)可以,也确实有人成功了,但是除非你很清楚自己在做什么并且有能力解决一些意料之外的奇奇怪怪问题,请不要轻易尝试;
关于模块: KernelSU 的模块API在设计上就与 Magisk 有很大区别,部分模块可以通用是因为其开发者进行了适配,但是模块生态浩如烟海,无法保证所有模块在不专门进行适配的前提下正常运行;
关于检测:KernelSU 的内核级实现使得其在抗检测上具有(理论上)先天优势,但是这并不是其主要目的,并且大部分ROOT后的特征其实来自模块,如果是为了更好的抗检测能力,Magisk Delta 更值得一试;
关于迁移:个人建议如果你不是非常喜欢 KernelSU 的某些特征,或者非常确定目前所用的模块都能在新环境下正常运行,建议再观望一下,起码等到 KernelSU 的功能特性基本稳定再迁移。
alpacabro 2023-10-19 回复 @空空
ok,目前我的需求主要还是防检测上,昨天数字人民币各种闪退,切换成delta之后可以了,还是先观望KernelSU,等待更成熟
空空 2023-10-19 回复 @alpacabro
没玩过 kernelsu,想请问一下 zygisk on kernelsu 的作用是在不安装 magisk 的情况下使用 magisk 模块吗
wonderc 2023-08-03
简单来说,是的。
官方文档KernelSU 模块与 Magisk 的差异这篇指出了两者的异同和兼容性现状:
1、开发者可以通过修改使模块在两种环境中通用;
2、KernelSU 的模块没有内置的 Zygisk 支持,但可以通过 ZygiskOnKernelSU 来使用 Zygisk 模块。
由于两者实现机制完全不同,迁移前还请自行验证模块兼容性。
alpacabro 2023-08-03 回复 @wonderc
如果可以,我仍然选择国际版,安卓的应用设计和系统感觉不是很好,还是iOS用着爽.
l1nsn0w 2023-06-24
我把之前的一个旧的红米手机刷成了国际版, 系统确实比国内版的好用一点
知秋 2023-09-03 回复 @l1nsn0w
至于安卓和iOS也是各有所爱吧,我的下一台手机大概率还是小米或者红米旗舰,就是再也不碰联发科处理器了(刷、玩机资源少,玩个Yuzu模拟器都发现没有相关驱动😭),我目前对iOS的印象还停留在我同学拿到iPhone的第一件事就是找我帮忙安装某粉色软件的包😓
alpacabro 2023-06-25 回复 @l1nsn0w
直到现在还没有刷入过MIUI EU(感觉把主力机ROOT本身就已经风险挺大了),所以国际版是什么样我暂时没法评价😂,但是听一些老哥说,确实少了一些特色功能以及"特性"。
不过手机有一台 Pixel 4 XL,怎么评价呢……玩玩可以,日常使用还是算了😅(想开启VoWiFi都需要刷模块,回头还要再补一篇相关的折腾教程🤣)
alpacabro 2023-06-25 回复 @l1nsn0w