如果你只是想修改 Build.prop/替换部分系统文件,却苦于找不到适合的 Magisk 模块,你可以尝试自己动手制作一个。这看起来是非常高端的操作,其实只是考验你是不是真正的机佬#(微微一笑)
注意:编辑文件请使用高级文本编辑器(不是记事本之流),例如 Notepad++、Sublime Text 等
- 下载 Magisk 模块模板: https://github.com/topjohnwu/magisk-module-template
点击绿色的 Clone or download 按钮,再点击 Download ZIP 按钮,解压下载的压缩包。 - 各个文件(夹)的作用:
META-INF: 刷机包签名/脚本文件,通常我们不需要改动。
common/post-fs-data.sh、common/service.sh:开机时执行的脚本文件,通常我们不需要改动。
common/system.prop: Build.prop 文件,将需要修改的项目(注意不是整个 Build.prop)填入即可。
system: 将需要替换的系统文件(空文件(夹)也可)按照位置放置即可。
.gitattributes: Git 相关文件,通常我们将它删除以防止影响打包。
README.md: 说明文件,通常我们将它删除以防止影响打包。
config.sh: 模块设置和安装/刷入时使用 ui_print 命令显示的提示信息(你可以加入模块/作者的相关信息)
module.prop: 模块信息 - 将填好内容的模块使用压缩软件打包成 zip 文件(压缩级别建议选择正常压缩或者不压缩),刷入或安装即可。
举个实际的制作例子。我们想要修改 DPI,同时修改系统的 hosts 文件,我们需要:
- 打开 config.sh 文件
- 将 AUTOMOUNT 项改为 true(默认为 true),代表我们将要挂载文件。将 PROPFILE 项改为 true(默认为 false),代表我们要修改 Build.prop:
AUTOMOUNT=true
PROPFILE=true
下面两项我们保持原样
POSTFSDATA=false
LATESTARTSERVICE=false
3. 在第二个 REPLACE 项中,我们填入要修改的文件(夹)名,一行一项:
REPLACE="
/system/etc/hosts
"
4. 打开 common/system.prop,填入 ro.sf.lcd_density=320,代表将 DPI 改为 320。
5. 将要修改的 hosts 文件放在 /system/etc/ 文件夹下。
6. 打包模块。注意文件结构是:
META-INF
common
system
……
而不是:
magisk-module-template-1500/META-INF
magisk-module-template-1500/common
magisk-module-template-1500/system
……