Magisk 安装系统负责将 Magisk 安全地集成到 Android 设备中。该系统处理启动镜像修补过程、不同设备类型的安装方法以及 OTA 更新期间的存活机制。有关启动镜像修补的特定信息,请参阅启动镜像修补。
安装系统提供了多种途径,可以在各种设备配置上安装 Magisk。该系统需要处理不同的分区布局(A/B、A-only)、设备特定的要求(如三星设备)以及各种 Android 版本。
来源:scripts/boot_patch.sh scripts/flash_script.sh scripts/util_functions.sh scripts/addon.d.sh docs/install.md
安装系统由几个协同工作的关键组件组成
| 组件 | 描述 | 主文件 |
|---|---|---|
| 启动镜像修补器 | 解包、修改和重新打包启动镜像 | boot_patch.sh |
| 刷写脚本 | 协调安装过程 | flash_script.sh |
| 实用函数 | 提供用于分区挂载、设备检测等的函数 | util_functions.sh |
| OTA 更新存活 | 在系统更新期间保留 Magisk | addon.d.sh |
来源:scripts/flash_script.sh94-101 scripts/util_functions.sh419-441 scripts/boot_patch.sh86-256
安装过程涉及从启动镜像检测到最终刷写等多个阶段
来源:scripts/flash_script.sh25-100 scripts/util_functions.sh419-441 scripts/boot_patch.sh88-256
Magisk 的安装系统可适应不同的设备类型和配置
对于不包含 Ramdisk 的启动镜像的设备(通常是较新设备)
三星设备需要特殊的安装方法
来源:docs/install.md25-73 docs/install.md74-143
安装系统包含帮助 Magisk 在系统更新期间存活的机制
对于具有 A/B 分区方案的设备
对于支持 addon.d 的设备
来源:scripts/addon.d.sh10-168 docs/ota.md1-41
安装系统依赖于几个关键的实用函数
find_block:定位分区的块设备mount_partitions:挂载安装所需的分区setup_mntpoint:准备分区的挂载点find_boot_image:根据设备配置确定合适的启动镜像flash_image:将镜像安全地写入块设备mount_partitions:还检测 A/B 槽信息和 system-as-root 配置get_flags:确定设备加密状态和其他重要标志api_level_arch_detect:识别 Android API 级别和 CPU 架构来源:scripts/util_functions.sh205-234 scripts/util_functions.sh274-324 scripts/util_functions.sh370-392 scripts/util_functions.sh394-416 scripts/util_functions.sh491-514
安装系统由多个协同工作的脚本组成
来源:scripts/flash_script.sh22-24 scripts/util_functions.sh419-441 scripts/addon.d.sh63-64 scripts/boot_patch.sh56-57
Magisk 安装系统为在各种 Android 设备上安装 Magisk 提供了一个强大而适应性强的框架。它处理不同设备配置、启动过程和更新机制的复杂性。该系统的模块化设计使其能够支持从标准设备到三星手机和无 Ramdisk 设备等特殊情况。
理解这个系统对于开发 Magisk 模块、创建自定义安装或排除安装问题至关重要。安装过程构成了所有其他 Magisk 功能所依赖的基础。