来源:柯帕,路中南Android 玩家入门:从这 20+ 个模块感受 Magisk 背后的魔力,少数派

作为 Magisk 的核心,模块的工作方式各有不同:有的即装即用,有的需要使用终端进行配置,还有的则需要同其他的 App 协作。模块的获取途径也较为多样:除了直接从 App 中下载,我们还能从 XDA、酷安、Github 等处获得模块。因此,为了帮助刚刚刷入 Magisk 的用户减少探索的成本,一篇 Magisk 模块推荐是必要的。

本文旨在向大家推荐一些优秀的 Magisk 模块,推荐的标准为:

  • 功能正常且仍在维护;
  • 需求较为广泛;
  • 适用范围广,支持大多数机型,且至少支持 Android 9 - 11。

下文会把这些模块分为三类 ——个性化、功能增强、硬件和性能调控——分别介绍。若无特别说明,模块都能根据文内的小标题在 Magisk App 内找到。

如果你未曾尝试 Magisk,也不妨看一看本文提及的模块是否有一些能切实帮助到你,说不定因此入了 Magisk 的坑。想要了解 Magisk 的刷入方法、模块的安装以及翻车自救方案的读者,请参阅本系列前两篇文章:

  1. Android 玩家必备神器入门:从零开始安装 Magisk
  2. Android 玩家必备神器入门:Magisk 核心功能和翻车自救指南

个性化

这类模块的功能涉及系统的视觉、听觉呈现。它们可以实现帮助你个性化系统的 UI、动画、字体以及声效。

自定义字体和 Emoji:Font Manager

Font Manager 作用是自定义系统的字体和 Emoji。相较于一些系统自带的字体管理工具,Font Manager 的优势在于数量达 200 多个,且全部免费。更改 Emoji 更是独有的功能。

安装完成后,打开手机终端(如 Termux)用su -c manage_fonts唤出管理菜单,选择更换字体或 Emoji ,再键入选项对应的数字,重启即可更改成功。终端中不提供字体预览,建议提前到 此网站 查看字体和 Emoji 的显示效果。

下面是将 Emoji 改成 Blobmoji,字体改为 San Francisco 后同系统默认设置的对比截图,自定义后,你甚至能在 Android 上显示 Apple 独有的字符。

img

需要注意,此模块安装后会自动跳转到含有广告的官网,建议随手关闭。另外,推特这类不使用系统字体、Emoji 的 App,Font Manager 没有效果。

补全字重:NotoCJK

🔗项目地址 从项目地址下载,手动安装。

本插件即装即用,效果直接看图:下面是同样一篇文章安装此模块前后的对比。

img

可以看到,右侧的截图中,小标题明显更清晰。这是因为字重决定了字体呈现出的粗细。而在这个页面中,正文字重为 400,「要闻」、「简迅」字重为 600,「本期空缺」、「宁缺毋滥」字重为 700。而我的系统只有400 和 700 两种字重,故这两个小标题只能以 400 的字重呈现,我们便看到了左图那样的效果。NotoCJK 则通过补全缺失的字重,让该粗的字够粗,该细的字够细,使阅读体验好上不少。下面是更详细的对比图,装和不装差距之大肉眼可见:

img

手势小横条自定义:Fullscreen/Immersive Gesture

该模块的作用是自定义全面屏手势的显示效果,具体来说包括:

  1. 隐藏/沉浸显示手势小横条,控制手势灵敏度;
  2. 在隐藏小横条时:减少键盘抬高高度;
  3. 控制是否仅从右侧触发边缘返回手势。

第一项功能很多 ROM 已经集成;而第二项功能对于一些非全面屏设备来说可谓福音,因为它们的下巴往往已经够大,不需要再抬高键盘。当边缘返回手势设置为只从右侧触发时,可以方便呼出一些应用位于左侧的汉堡菜单。

img

该模块配置的方式有点不同:需要在安装时根据提示用音量键确认选项。若想要更改配置,需要重刷一次。

通知栏、状态栏自定义:G-Visual

G-Visual 可用于调整系统 UI 的圆角弧度、通知栏的间距、状态栏的高度和间距以及手势横条的颜色、形状、透明度。除了自定义数值,模块也提供了一些预置的选项可供选择。

img

安装之后,在终端输入su进入 Root 模式,再输入gvm就能进入模块的设置界面。确定选项后重启手机生效。

修改 Boot 动画:Nexus Media

手机启动时,一般会显示两个画面:首先出现带有 Android 图标和厂商 Logo 的界面,接下来就是一个动态的画面。Magisk 模块 Nexus Media 可修改后者为四个实心点变化为单词「android」的动效。

img

移植来自 MIUI 的铃声:MIUI 10 Sound Pack

Magisk 曾经有许多移植类的模块,将一个 ROM 的特有的 App、壁纸或者铃声等提取出来,让其他 ROM 中也能使用。可惜过了这么多年,Pix3lify、Oxy-ify 等知名移植模块都已不再维护,可以说存活下来的并不多。MIUI 10 Sound Pack 则是其中之一。

安装模块,系统的声音选择界面会多出来自 MIUI 的一些铃声。

img

音质提升:Ainur Narsil 和 Spatial Audio Upmixer

🔗项目地址 Spatial Audio Upmixer 需要从项目地址下载,手动安装。

Ainur Narsil 像前面提到的字体模块 NotoCJK 一样拥有立竿见影的效果,它的作用是移除厂商对低端设备音频不走心的各类魔改,还原设备本身的声音,刷完就能明显感觉到音质变得更加「纯粹」,比如底噪降低等。

此外,同模块的开发者不久前释出了名为 Spatial Audio Upmixer 的模块,此模块能在 Android 设备上实现类似空间音频的效果,但相应地音质会有所下降。

img

这两个模块都支持有线耳机和扬声器。团队还曾维护过另一款名为 SAURON 的模块,可惜现已停更。

功能增强

说完了个性化模块,我们再来看一看那些感官之外,切实增加或增强了某些功能的模块。

Hosts 管理和广告拦截:Energized Protection

此模块需要配合 Magisk 自带的 Systemless host (在 Magisk App 设置中开启)使用。它通过传统的挂载替换 Hosts 的方式,根据用户的配置定向域名。

在终端中输入su进入 Root 模式,再使用eq -h便能查看所有支持的命令。比如说ep -ir能用于将某域名定向到某 IP,ep -b example.com 来屏蔽 example.com。模块也内置了一些规则,例如ep -e social可屏蔽社交广告。

img

为单个 App 禁用自动更新:Detach

Google Play 有全局的自动更新功能,但不能单独排除某个应用。当我们关掉自动更新功能时,Google Play 的更新界面也不能像其他应用商店一样隐藏我们不愿意更新的应用。Detach 模块可以解决这个问题。

在刷入模块之前,我们需要下载一份 Detach.txt。编辑这个文本文件,将我们不愿意更新的应用包名(Package name,如 OneDrive 是 com.microsoft.skydrive)写入其中,一行填一个名称。#开头的不生效。将此文件放入手机的根目录。然后刷入此模块,重启设备生效。

如下图所示,Google Play 再也不会提醒你更新 OneDrive 了。想要加入新的应用名的话,重复上面一段的流程即可。

img

更安全地精简预装应用:Debloater

Debloater 可以精简无法停用的系统预装应用。相比于 ADB 手动操作,它的优势在于不需要用户手动键入复杂的应用包名,只要选择终端中列出的数字。由于并非真正意义上的卸载,不小心出了错也可以及时挽救。

img

此模块有一个对应的 App,最近才上架 F-Droid,也可以尝试。🔗

使用来自其他厂商的应用:xmlpak

Google Play Store 不光是用户下载更新通用应用的场所,也是各个厂商更新自己的设备专属软件的地方,只不过这些软件其他的机型无法搜索到,即使找到了页面也会显示「设备不兼容」。xmlpak 解决了这个问题,让我们能够在 Play Store 上搜索安装市面上绝大多数厂商限定的应用。

此模块安装后要清除应用商店的数据才能生效。它仅仅保证能下载安装,由于一些应用可能有其他的依赖,要顺利运行可能要额外的步骤。

img

解锁 Google 信息流和位置记录:Riru - Location Report Enabler

默认情况下,由于存在检测机制,国内 SIM 卡会导致 Google App 和 Pixel 启动器中的信息流、Google 位置历史记录无法使用。Riru - Location Report Enabler 可以解除这一限制。

安装后重启系统,然后清除 Google 应用缓存,信息流和位置记录就能正常开启。

img

Location Report Enabler 是 Riru 系列模块之一,这类模块都需要提前安装名为 Riru 的模块才能生效。接下来将会连续介绍几个 Riru 系列的应用,它们都需要 Riru 模块这个依赖。

更高效的 Root 管理:Riru - Sui

虽然标题这么说,但 Sui 严格意义上并不是 Root,它将系统各类 API 打包给其他应用使用。同开发者亦为此开发了独立的 App Shizuku。Sui 是 Shizuku 在 Magisk 上的实现。和 Root 相比,它更为精确且节制,不会出现一旦授予,系统的所有权限都被开放的情况。

刷入 Sui 后,要进入管理界面,只需点击开发者选项,通知栏就会出现相关的入口。如果你正在使用的应用提供了 Sui 的支持,那么本文非常推荐你使用此选项。

img

允许后台读取剪贴板:Riru - Clipboard Whitelist

Android 10 之后,应用被禁止在后台读取剪贴板。因此一些旧的应用可能无法正确运行。Clipboard Whitelist 模块安装后,会添加一个名为 Clipboard 的应用。于此应用中勾选相应的程序即可让它们在后台获取读取剪贴板内容。

img

不过,更新比较及时的应用们往往会建议你使用其他方法:比如说常驻通知栏,或者使用 ADB 授权。仅当应用没有给出这些新方法时,才推荐使用 Clipboard Whitelist。

挂载 Xposed:Riru - LSPosed

官方 Xposed 于 Android 7 折戟沉沙,不再适配新系统。但它仍然是一个无比强大的框架,借助 Magisk 的 LSPosed 模块,我们可以能「复活」Xposed。

此模块安装后,系统会多出一个 LSPosed 的应用,使用这个应用就能管理 Xposed 的模块了。关于安装更详细的步骤,读者可以参阅下文的「隐藏应用列表」部分。

此外,还有一个功能近似的模块 —— Riru - EdXposer,刷入后需要自行安装对应 App。此模块在更新频率和适用范围上不如 LSPosed 模块。

应用辅助类模块

不少模块需要配合其他的应用使用,它们往往起辅助作用,核心功能仍由应用本身承担。要是详细介绍这些模块,就不得不牵扯到应用本身的使用,这样就偏离了主题。因此,本文只在此处简单列举部分应用辅助类模块,并用简单的一句话概括。如果你需要使用对应的应用,那么这些模块就值得一试:

  • F-Droid Privileged:同应用商店 F-Droid 配合,让它实现后台静默安装。
  • Riru - Enhanced mode for Storage Isolation:存储隔离,同 Storage Redirect 配合。需要提前安装 Riru。详情可以参阅 这一篇文章
  • microG Installer:用于安装 microG 套件。
  • Axet's Call Recorder:配合 Call Recorder 使用,提供通话录音服务。

硬件和性能调控

此类模块涉及手机的电池、CPU 等硬件的各类行为。

电池健康:Advanced Charging Controller

在 Android 手机充电速度竞赛如火如荼的今天,电池健康这样一个同样重要的问题往往很少有人提及。锂电池有一定的寿命,过高的电压、充电时的过高热量都会加速电池的老化

Advanced Charging Controller 则通过限制电压、充电温度和最高充电容量的方式来延长电池的寿命。刷入模块后,在终端中使用suacc的方式调出模块帮助,然后自行配置。开发者亦提供了 acca 作为配套应用,读者可自行搭配安装。

img

性能调控:Uperf

🔗项目地址 此模块需要手动安装

目前提供性能调节的 ROM 仍在少数。一般来说,想要更细致地控制系统性能需要借助第三方内核。但 Uperf 模块提供了更通用简易的方案──只要你使用的芯片受支持,就可以安装尝试一下。

具体的原理在项目的 README 文档 中已有详细描述,简单来说就是通过一个固定运行的脚本监听 Android 系统发生的如正在操作的应用、触摸操作等事件来动态释放性能,而在释放性能的同时,它会有选择地采用更高效的 CPU 频率来降低功耗。另外值得一提的是,Uperf 还可以设置动态切换屏幕刷新率。

刷入方式相当简单,从项目的 发布地址 中下载最新的 DEV 版本 .zip 包,在 Magisk App 中手动刷入并重启系统,在手机存储根目录下的/yc/uperf/ 中可以看到用于定义 Uperf 设置的文本文件,修改其中的值即可达成完全的自定义。建议新手可以先从修改 cur_powermode 文件开始自定义 performancebalancepowersave 三档性能模式开始体验。cfg_uperf.json 则是开发者定义的性能调整参数,不建议修改。cfg_uperf_display 则是用于自定义动态刷新率的配置文件。

img

总结

在写作本文时,我收集了所有来自官方库的模块,并给大多数模块标注了推荐等级和功能简介。若读者有兴趣,可以访问 此网址 查看。

当然,疏漏之处,在所难免。许多模块虽然优秀,但流传范围不广。酒香也怕巷子深,要是读者还尝试过本文未提到的优秀模块,欢迎在评论区中补充。

题图:Banner vector created by fullvector