website/docs/zh_CN/guide/difference-with-magisk.md
虽然 KernelSU 模块与 Magisk 模块有很多相似之处,但由于它们的实现机制完全不同,因此不可避免地会有一些差异;如果你希望你的模块能同时在 Magisk 与 KernelSU 中运行,那么你必须了解这些差异。
/data/adb/modulespost-fs-data.sh: 执行时机完全一致,语义也完全一致service.sh: 执行时机完全一致,语义也完全一致system.prop: 完全相同sepolicy.rule: 完全相同在了解不同之处之前,你需要知道如何区分你的模块是运行在 KernelSU 还是运行在 Magisk 之中;在所有你可以运行模块脚本的地方(customize.sh, post-fs-data.sh, service.sh),你都可以通过环境变量KSU 来区分,在 KernelSU 中,这个环境变量将被设置为 true。
以下是一些不同之处:
meta-overlayfs),而 Magisk 将挂载内置在其核心中。KernelSU 需要安装 metamodule 才能启用模块挂载。.replace 方式,相反,你需要通过 mknod filename c 0 0 创建同名文件夹来删除对应文件。/data/adb/ksu/bin/busybox 而 Magisk 在 /data/adb/magisk/busybox;注意此为 KernelSU 内部行为,未来可能会更改!.replace 文件;但 KernelSU 支持 REPLACE 和 REMOVE 变量。boot-completed.sh,以便在 Android 系统启动后运行某些任务。post-mount.sh,以便在模块挂载完成后运行某些任务。