封面来源:君も食うの? | 桐野 #pixiv https://www.pixiv.net/artworks/86368113
刷机有风险,操作须谨慎,请提前做好数据备份。
惊闻 MIUI 13 系统级内置全链路反诈,已经有些时日了。望着手中高考结束后购入的 Mi 10,想起当时因小米的 168 小时「解 BL 锁冷静期」政策而放弃刷机的草草决定;被系统广告烦扰的日夜;不时犯病的 MIUI 12;真假未知的各式有关隐私的流言蜚语……在下遂决定痛下决心,抛下一切包袱,不惜一切代价,逃离这个光怪陆离的牢笼,代表月亮彻底净化这台 Mi 10。
经过一些简单的搜索,最终决定使用欧版 MIUI 系统作为 ROM 包。欧版 MIUI 来自小米欧洲社区,其去除了一些内置的 APP 和广告,整合了 Google 框架和部分 Google 全家桶;值得一提的是,欧版 MIUI 获得了欧盟官方分销商 ABC Data 的认可,而欧洲实行严格的数据保护,欧盟的一般数据保护条例使得在欧洲销售的手机系统也必须符合此标准,这意味着欧版 MIUI 在数据方面的安全性毋庸置疑。
解锁 Bootloader
Bootloader,相当于安卓系统 BIOS 的存在,是手机安全启动规范的底层的一环。主要作用是验证加载对象签名,通过校验系统 ROM 完整性,防止启动第三方 ROM 或 Recovery,避免由此带来的数据安全风险。但它同时也限制了通过 Fastboot 方式刷机(即线刷),这意味着一旦 Bootloader 处于上锁状态,就无法在手机上安装除官方 ROM 以外的其它 ROM。
根据小米的规则,解锁 Bootloader 需要率先在手机上绑定小米账号。因而,拥有一个小米账号是必须的。
在本机已登录小米账号的情况下,打开设置,点击我的设备-全部参数,不断重复点击 MIUI 版本,直到显示进入开发者模式。随后在设置中找到更多设置-开发者选项-设备解锁状态,点击绑定设备和账号。
需要注意的是,这里设备和账号需要绑定 168 小时后才能解锁(具体时间可能有出入),再次点击绑定会重置计时,也就意味着还要重新等整整七天,所以准备解锁前千万别再手贱点一次(别问在下是怎么知道的)。
绑定时间期满,前往申请解锁小米手机页面下载官方解锁工具,并依照相关引导进行解锁操作。
刷入 TWRP Recovery
TWRP 是一个开放源码软件的定制 Recovery 映像,供基于安卓的设备使用。它提供了一个支持触摸屏的界面,允许用户向第三方安装固件和备份当前的系统。有了它,卡刷手机系统会变得非常方便。
首先当然是需要找到适合在下手上这台小米 10 的 TWRP 包,这里在下找到一个几乎包含小米全机型的 TWRP 包分享链接,部分 TWRP 包来自 Wzs 开发者。
此分享链接来自互联网,与在下并无关联,请自行甄别可能存在之风险。
这批 TWRP 包中应已打包好了一键刷入脚本,操作比较简单,只需关闭手机,按音量下和电源键进入 BootLoader,数据线连上电脑,运行一键刷入 Recovery 脚本即可。成功刷入后,会自动进入 Recovery,在关机状态下,按音量上和电源键也可以进入 TWRP Recovery。
若下载的 TWRP 包中没有一键刷入脚本,那么也可以自己动手做一个一键刷入脚本,具体操作如下:
下载 SDK Platform-Tools,找到之前下载的 img 格式的 TWRP 镜像,将其文件放入 SDK 的文件夹中,并改名为
recovery.img
。在 SDK 文件夹中新建一个文本文档,键入以下内容,然后将 txt 后缀改为 bat。:
1
2
3fastboot flash recovery recovery.img
fastboot reboot recovery
pause
刷入 MIUI EU
接下来要进行的就是狭义上的刷机了,首先要准备的,当然是合适的刷机包。MIUI EU 的刷机包在小米欧洲社区的官方网站可以下载,刷机包不需要解压。
需要注意的是,该网站需要魔法上网,直连会直接 502,由于是欧洲论坛,英文苦手者请善用浏览器翻译功能。
刷机包准备好之后就可以开始双清了,进入 TWRP,选择清除,然后滑动确认按键,手机双清就完成了。之后再连上数据线,把准备好的刷机包放在手机的内部储存里,在 TWRP 选择安装,选中刚刚复制进储存的刷机包,滑动确认按键,静候刷入完成。
提示刷入完成后,可以直接重启了,此时应该能正常进入系统,若进不去系统可以进 TWRP 在清除里格式化一下 Data 分区再试试。
MIUI EU 保留了安卓系统原汁原味的 Google 验证,此验证需要魔法上网方能通过。
本地化作业
MIUI EU 抛弃了大陆版 MIUI 系统的一些功能,这些功能可能一定程度影响使用体验,比如对于在下来说,小米钱包的缺失使得在下无法通过手机刷公交卡。好在藉由 Koizumi 大佬制作的 MIUI EU 欧洲版 本地化 Magisk 模块,这个问题能得到完美的解决。
其本地化项目分为三个部分:Magisk 模块、工具箱 app(Xposed 模块)和直接安装 apk 就可以恢复的系统功能,详情可参见前文提供的文章地址。不过作者在说明中提到:「为更好开发更新,后续更新将不再适配 MIUI 12。」这并不是说 MIUI 12 不可用,在下刷的系统正是 MIUI 12.5(因为 Mi 10 的 MIUI 13 的包还没有),目前使用并无异常。
刷入 Magisk
Magisk 是一个安全、美观且非常强大的安卓自定义工具。它主要有以下两个功能:
- MagiskSU:获取设备 Root 并经用户授权给应用。
- Magisk Modules:下载、挂载与管理模块。
它可以实现在安卓上管理 root 权限,或是通过模块实现某些深度自定义的功能,而且其挂载方式对现有的系统文件不会造成影响。
刷入 Magisk 的方法也非常简单,由于 Magisk 同时也是一个开源的项目,在其 Github 的 Release 页能轻松获取到最新版本。
下载好 Magisk 的 apk 文件之后,可以选择直接安装,然后根据其应用内引导下载 zip 包在 TWRP 刷入;也可以选择直接在 TWRP 刷入 apk 文件,两者效果是相同的。
安装 Xposed 框架
根据维基百科:Xposed 框架是一个运行于 Android 操作系统的钩子框架。其通过替换 Android 系统的关键文件,可以拦截几乎所有 Java 函数的调用,并允许通过 Xposed 模块中的自定义代码更改调用这些函数时的行为。因此,Xposed 常被用来修改 Android 系统和应用程序的功能。
遗憾的是 Xposed 框架对于安卓系统的支持止步于 Android 8,不过好在之后 EdXposed 团队成为了后续 Xposed 版本研发的继任者,EdXposed 的安装需要依赖于 Riru 模块,这是由国内独立开发者 Rikka 开发的一套模块系列。Riru 神奇的地方在于,它部分地达成了 Xposed 那样的功能,通过替换 Zygote,能够自定义到一部分的应用。不过 Magisk 24 加入了 Zygisk 功能,它的功能和 Riru 差不多,目前 Riru 已经建议其使用者转而使用 Zygisk。与此同时,EdXposed 的版本更新缓慢,甚至尚不支持基于最新版本的 Riru 安装,更别提对于 Zygisk 的支持了。好消息是 EdXposed 同样后继有人,那就是 LSPosed,LSPosed 是 Edxposed 的一个分支,但是它的版本迭代要比前者快得多,并且已经实现了支持 Zygisk。
MIUI EU 本地化模块也有需要 Xposed 框架实现的功能,因此,在下选择使用 Zygisk 版的 LSPosed 来安装 Xposed 框架。
首先,下载最新版本的 LSPosed,它也已经开源,直接前往 Release 页下载即可,注意选择 Zygisk 版本下载。
在 Magisk 中轻点右上角设置图标,在 Magisk 一栏中开启 Zygisk,随后设备会重启。重启完成后,在 Magisk 中选择模块-从本地安装,选择之前下载好的 LSPosed 的 zip 文件刷入,完成后再次重启。
桌面出现 LSPosed 图标,Xposed 框架就宣告安装完成了。
安装本地化工具箱
从 MIUI EU 本地化模块中下载工具箱的 apk 文件,随后安装。
安装完成后 LSPosed 应该会提示模块尚未激活,转到 LSPosed 处打开模块开关,并检查作用域,推荐应用需全部勾选,之后重启即可。
安装模块
刷好了 Magisk 和 Xposed 框架之后,就可以安装本地化模块了,下载 Koizumi 大佬的 MIUI EU 本地化模块,在 Magisk 中选择模块-从本地安装,选择准备好的 zip 文件,根据提示一步步操作即可。
安装完成后,别忘了重启。
至此,本地化作业已经全部完成。
一些其他优化
Magisk 和 LSPosed 的玩法可不止实现 MIUI EU 本地化那么简单,有大量有趣实用的模块等着阁下去探索,这方面在下就不过多赘述了。
尽管 MIUI EU 受到欧盟一般数据保护条例的规制,在系统层面上不需费心,可是道高一尺魔高一丈,对于长期游离于 Google Play 商店规范之外的国产应用环境来说,就不见得能够高枕无忧了。在下采取了一种激进的办法——使用炼妖壶将之彻底隔离。
炼妖壶,基于安卓原生的 Android Work Profile,可以让应用读取独立的系统信息,包括联系人、通话记录等,实现用户手机信息隔离,目前也已经开源。尽管与虚拟机仍有差别,但是对付国产应用,在下认为还是够了。
许多国产 ROM 可能阉割了 Android Work Profile,在使用炼妖壶时会无法配置,但是 MIUI EU 保留了这一功能,因而系统层面上没有阻碍。另外,之前 Magisk 已经帮在下获取了 ROOT 权限,可以直接使用炼妖壶的 ROOT 模式。
Android Work Profile 可以随时开启与停止,在处于停止状态时,处于工作资料中的应用无法实现任何操作,这相当于冻结应用所有的后台行为。
使用炼妖壶隔绝国产应用之后,由于 Android Work Profile 完全隔离了主空间的数据,在下目前唯一的痛点就是主空间的文件读取问题,例如微信没法读取手机截屏,主空间的图片也无法分享到微信。这造成了一些使用上的麻烦,目前在下的方案是通过 CX 文件管理器的 FTP 服务器功能实现两个不同空间文件的传输。但是在下认为牺牲一些便利,换取一些自由与心安依然是值得的。
系统更新
MIUI EU 在系统升级 app 中提供了系统更新渠道,可以获取 ROM 的更新信息,届时可移步 MIUI EU 论坛下载。且升级自 MIUI EU 系统时,则支持通过 OTA 更新系统,这样在刷新系统版本的时候,手机的既有数据也会得到保留。
在选择最新系统 ROM 时,需要注意该 ROM 是线刷包还是卡刷包,即通过 Fastboot 刷入还是通过 Recovery 方式刷入,切勿将线刷包当作卡刷包使用。
后话
在下从春节前腊月二十八折腾完整套流程,使用到现在,也有快半个月了。目前看来,使用体验流畅,没有遇到恶性 BUG,耗电什么也比较正常。MIUI EU 去除了所有的系统广告,并且没有预装谷歌全家桶,仅预装了谷歌框架,非常纯净。再加上通过本地化模块,可以依照自己的意愿恢复一些国内版的功能,刷 MIUI EU 的痛点大大减少。可以说,这样一个 MIUI 系统,使用起来是相当上头的。
对于更新的问题,MIUI EU 可以通过 OTA 更新,这样的话就算更新系统也不需重新刷机。值得一提的是小米欧洲社区相当优秀,MIUI EU 做到了更新速度与国内版平行,测试版甚至比国内提前发布还快。
最后,向 Xiaomi European Community、TWRP 团队、Koizumi 大佬、John Wu 大佬、LSPosed 团队以及所有为我们铺平搞机之路的大神们致以崇高的敬意!