今天我们不聊历史,聊聊技术。向大家推荐一安卓手机神器——Magisk
当今手机系统基本上是二分天下,Android(安卓)与iOS。(塞班、黑莓、微软的移动系统已死。鸿蒙尚在飘渺中……)
相对于封闭的iOS系统,Android(安卓)系统的可玩性要大很多。
厌倦了死板的默认字体我们可以更换;想在MIUI上试试颜值更高且无广告的索尼天气;还可想法突破OEM定制应用的机型限制……诸如Xposed这类不断涌现的“神器”在自定义这件事情上为Android(安卓)插上了腾飞的翅膀,也让“千机千面”成为可能。
只是便利向来也伴随着风险:未获Google“认证”的设备无法从Play应用商店下载安装 Netflix,Google Pay、Pokémon Go等应用不能在已root的设备上正常运行,改动过系统文件的ROM无法通过OEM渠道进行正常的OTA更新升级……
对 Android(安卓) 生态而言,自定义和稳定性长久以来似乎都是“鱼与熊掌”——直到 Magisk 的横空出世!
Magisk 是如何工作的?
在一些人眼里,Magisk与另一款名为Xposed的神器有着高度的相似性,部分群体当中甚至还存在着“Magisk框架”这一说法。
的确,二者的工作机制都是“拦截”。Xposed通过劫持Android(安卓)系统的zygote进程来加载自定义功能,这就像是半路截杀,在应用运行之前就已经将我们需要的自定义内容强加在了系统进程当中。
Magisk则另辟蹊径,通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。
Xposed/Magisk原理示意图
Magisk的实现方式就像是一种魔法,当被挂载的Magisk分区被隐藏甚至被取消挂载时,原有系统分区的完整性丝毫未损,玩需要root验证的游戏、运行对设备认证状态有要求的应用甚至进行需要验证系统完整性的OTA升级都没有任何问题。
可通过SafetyNet认证并有针对性地隐藏root
因此严格来说Magisk可以被看作是一种文件系统,这种文件系统通过巧妙的实现方式避开了对系统文件的直接修改,从稳定性上来看要优于以往任何一种系统框架,这也是当前它在玩机社区广受认可和好评的原因所在。
Magisk的魔力不止于root
很多人对Magisk的初步认识可能是root ——在Super SU销声匿迹之后,它自然而然就成为了当前Android(安卓)社区用来获取root权限的主流方式。
不过Magisk特殊的运作机制还赋予了它相较于Android(安卓)平台其他定制工具而言独一无二的特质——systemless。这种systemless特质让Magisk拥有了获取root权限之外的诸多优势:
一方面,得益于独特的挂载机制,使用Magisk时我们可以有针对性地隐藏root,甚至暂时隐藏Magisk本身。
如此一来,不仅“root模式下使用特定应用”成为了可能,就连无缝OTA升级这种“魔改党”们想都不敢想的事也变得不再遥远。在Magisk Manager应用的设置中,我们甚至还可以用随机包名对Magisk进行重新安装,让它从其他应用的眼皮底下彻底消失——多么具有魔法特质的高明手段!
另一方面,挂载系统的存在,也让Magisk拥有了多样的模块化生态系统。
既然用了“开外挂”的实现方式,那不妨就多挂载一些额外的东西,字体、音效、驱动……甚至Xposed本身。Magisk提供了一个独立于系统分区以外的、可以随时隐形的“沙盒”,那自然不能将其才华禁锢于root这一件事上。在Magisk的模块仓库里,我们可以找到各式各样的模块(modules)来满足自己的定制化需求,借助这些模块,我们在root之后能做的事情其实也还有很多。
在这里的讨论语境下,Magisk如何给人们留下“框架”这一认知误区的原因就浮出水面了。只是功能方面好不逊色的 Magisk,稳定性和上手门槛对大部分用户来说都更加友好。
如何安装 Magisk
作为一套复杂的文件系统,Magisk的安装步骤却是十分简单。
在电脑上配置好adb环境 并解开Bootloader锁。
1、如果你的设备有来自TWRP的官方支持,只需在打开USB调试后将手机与电脑相连,然后打开电脑端的命令行窗口:
执行 adb reboot bootloader 进入Bootloader界面
执行 fastboot boot TWRP.img 进入临时TWRP
在TWRP中刷入你下载的 Magisk 安装包
2、如果你的设备没有官方TWRP支持,则安装步骤要稍微复杂一些:
从你的刷机包中提取当前固件的boot.img文件,将它传入到安装了Magisk Manager 的手机内
进入Magisk Manager——安装(install)——install——修补boot镜像文件
然后选择传入的boot.img文件进行生成,并将生成后的Patchedboot.img(姑且这么命名) 传输到电脑上。
修补boot镜像文件
随后我们使用Magisk应用对boot.img进行重新打包:
打开命令行窗口
执行 adb reboot bootloader 进入Bootloader界面
执行 fastboot boot Patchedboot.img 来加载生成后的boot分区文件获取临时root
此时进入系统,你会发现你已经成功安装了Magisk(如果显示没有安装则为获取失败,请检查操作过程重新尝试),但这还不够,我们还得进入Magisk Manager,选择安装(install)——install——Direct Install(直接安装)才能将临时root转换为永久root。
别忘了进行二次安装
(三星、华为等特殊机型的Magisk安装方法请参阅Magisk官方的帮助文档。)
安装完Magisk后,我们就可以通过TWRP或者Magisk Manager刷入获取到的模块了。模块的获取方式可以是Magisk Manager自带的模块仓库,也可以是其他第三方论坛(如酷安、XDA等)。
卸载Magisk最为彻底的方式就是在Magisk Manager中点击“卸载”、“完全卸载”,应用会自动下载刷完uninstall.zip卸载包、自动卸载它自己、自动重启。如果你无法进入系统,在 TWRP中手动刷入uninstall.zip卸载包即可。
至于Magisk的模块,有很多堪称神器。比如快速充电、超级省电、杜比音效、绿色守护超级权限版以及Xposed框架模块等等。
至于哪些模块值得刷,则完全看个人需求。建议去酷安或者XDA论坛看看。
以上所有软件包及模块,都可在酷安或XDA搜索获得。
发表回复