制作简易的Magisk模块来修改系统文件

制作简易的Magisk模块来修改系统文件

一月 03, 2023

起因

该模块的制作起因是因为MIUIeu本地化模块在MIUI14上兼容性较差,不支持恢复小爱同学语音唤醒。了解其模块如何工作后,发现只需要把相关的文件写入System文件夹即可。

我手机已经解锁System分区,但是为了保险一点,还是用Magisk模块来操作。如果手机没有解锁System分区,则仅能通过模块来修改分区。

修改

详细的模块文档在Developer Guides | Magisk上有。

在文档上有写一个Magisk模块的简易结构是

module.zip
│
├── META-INF
│   └── com
│       └── google
│           └── android
│               ├── update-binary      <--- The module_installer.sh you downloaded
│               └── updater-script     <--- Should only contain the string "#MAGISK"
│
├── customize.sh                       <--- (Optional, more details later)
│                                           This script will be sourced by update-binary
├── ...
├── ...  /* The rest of module's files */
│

而META-INF文件夹其实是不需要写的,下载Magisk提供的文件即可。

  • update-binary: Download the latest module_installer.sh and rename/copy that script as update-binary
  • updater-script: This file should only contain the string #MAGISK

如果我们要做一个修改System文件夹的Magisk模块,它的结构十分简单:

GetTrigger.zip
.
├── META-INF
│   └── com
│       └── google
│           └── android
│               ├── update-binary
│               └── updater-script
├── module.prop
└── system

我们要修改的是system文件夹和module.prop。其中system文件夹放入需要的文件即可。我找到了实现小爱同学语音唤醒后直接丢进去就可以了。

module.prop中描述模块的一些信息。module.prop遵循下列规则:

id=<string>
name=<string>
version=<string>
versionCode=<int>
author=<string>
description=<string>
updateJson=<url> (optional)

写完后打包,放到Magisk里安装即可。非常方便。如果修改出错。进入Recovery删除模块即可恢复。

其他

值得注意的是,修改build.prop请在根目录建立system.prop来修改:

ro.product.manufacturer=Xiaomi

如果模块修改不成功,请在根目录下的customize.sh中加入:

AUTOMOUNT=true

具体请阅读官方文档!