如何在 KernelSU 上安装 LSPosed:借助 ZygiskNext 的完整指南
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
KernelSU 本身不带 Zygisk 运行时,因此 LSPosed 这类 Xposed 模块装上后默认无法生效。本指南讲解如何在已完成 KernelSU 安装的设备上,通过接入 ZygiskNext 补齐运行时,让 Magisk 生态的 Zygisk 版 LSPosed 框架包直接复用。做完之后,你的 KernelSU 设备即可像 Magisk 设备一样加载 LSPosed 并管理模块,全程只需安装两个 ZIP 模块。
✅ 准备工作:开工前核对 3 件事
- 确认设备支持状态:打开 KernelSU Manager,状态显示
Not installed表示设备受官方支持,可直接安装;显示Unsupported时需自行编译内核集成 KernelSU,或参考 非官方支持设备指南 走非官方路线。 - 判断是否需要 metamodule:只有模块要修改
/system文件时,才必须先安装 metamodule(如meta-overlayfs)。纯 scripts、sepolicy 规则、system.prop 类功能不依赖它。ZygiskNext 与 LSPosed 都不碰/system,无需额外动作;但若设备上其他模块带system目录而未装 metamodule,该目录不会被挂载(详见 Metamodule Guide)。 - 两个 ZIP 就位:ZygiskNext 模块包、LSPosed 的 Zygisk 版框架包。Magisk 生态的 Zygisk 版 LSPosed 原样可用,不需要重新打包。
主流程:先装 ZygiskNext,再装 LSPosed
顺序必须固定为先 ZygiskNext、后 LSPosed:LSPosed 的注入依赖 ZygiskNext 提供的 Zygisk 运行时,反序安装时框架首次启动将没有可挂载的宿主。
第 1 步:安装 ZygiskNext
打开 KernelSU Manager,点击悬浮+按钮,选择 ZygiskNext 的 ZIP,然后重启设备。
确认生效:重启完成后,Manager 的 Module 页面应列出 ZygiskNext 模块。
注意:所有模块变更都要在重启后才生效,装完不重启等于没装。
第 2 步:安装 LSPosed 框架包
重复上面的操作:打开 Manager,点+按钮,选择 LSPosed 的 Zygisk 版框架 ZIP,再次重启设备。
确认生效:Module 页面同时出现 ZygiskNext 和 LSPosed 两个条目。
注意:框架内勾选目标应用、配置模块行为属于 LSPosed 自身功能,按其界面提示操作即可。
确认成功:两个验证动作
- 打开 Manager 的 Module 页面,列表应包含两个模块(该页面也会显示 metamodule,若已安装)。
- 在有 root 权限的 shell 中执行
ksud module list,输出中应能看到两个模块的 ID。
两个 ID 都出现在列表里,即表示安装完成;框架的实际运行效果以 LSPosed 自身的提示为准。
⚠️ 出问题时:开不了机的两条恢复路径
情况一:卡在开机动画,还能触发安全模式。原因:问题模块导致启动失败,但内核内置的安全模式仍可进入。 处理:首次开机画面出现后,连续"按下-松开"音量下键超过 3 次(是 press-release 动作,不是长按),进入 KernelSU 安全模式,所有模块会被禁用,再到 Module 页面卸载问题模块。按键窗口在开机动画之前——内核在 post-fs-data 阶段就注销了音量键监听,启动快的设备容易错过。
情况二:进不了系统,但 ADB 还能连接。原因:模块脚本执行出错,但设备仍可连上 shell。 处理:直接用ksud禁用或卸载问题模块,然后重启:
adb shell su ksud module list ksud module disable <id> ksud module uninstall <id> rebootdisable与uninstall二选一执行即可,不要两条都跑。
原理速览:hook 在启动的哪个时机生效
LSPosed 在 zygote 进程上挂钩子,zygote 每 fork 一个应用进程,就把 hook 库注入新进程。ZygiskNext 的作用正是拦截这条 fork 路径的运行时,实现与 Magisk 内置 Zygisk 等价。打个比方:ZygiskNext 是 fork 通道上的"关卡",每个应用进程(货车)通过时由 LSPosed 装上模块库(货物)。
时序上分三段:post-fs-data阶段 monitor 程序先拉起并等待拦截;到late_startservice 阶段完成 zygote hook 并启动zygiskd;此后 zygote fork 出的每个应用进程才带上 LSPosed 注入。这就是为什么安装顺序不能颠倒——没有 ZygiskNext 在post-fs-data站岗,LSPosed 的 hook 无处附着。
注意事项
KernelSU 模块系统与 Magisk 的 magic mount 直接冲突:启用任一 KernelSU 模块后 Magisk 整体失效。从 Magisk + LSPosed 环境迁移时不要尝试两套并存,Zygisk 模块交由 ZygiskNext 承载即可;仅使用 KernelSU 的
su、不启用模块时两者才能共存。
模块以 root 权限运行:问题模块可能让设备开不了机,且可能造成不可逆损伤。只从可信来源安装模块。
若设备以 late-load 模式加载内核模块(由
ksud late-load触发),initrc 注入、安全模式检测等启动早期机制均不可用,本文的排障路径需要按 Module Guide 中 late-load 模式一节另行调整。
参考资料
- Module Guide
- Metamodule Guide
- Rescue from Bootloop
- Difference with Magisk
- Unofficially supported devices
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考