KernelSU内核管理器介绍
KernelSU是一款多功能收集权限管理工具,主要工作与系统内核空间,解决安卓收集root问题,获得root的访问权限来清理收集内存,释放更多的空间,以此来加快手机运行。功能特色
1、自启管理 控制进程自启,拦截软件相互唤醒。 2、预装卸载 一键删除预装app,释放内存空间。 3、一键加速 保持运行流畅,游戏过程加速30%。什么是 KernelSU
KernelSU 是 Android GKI 设备的 root 解决方案,它工作在内核模式,并直接在内核空间中为用户空间应用程序授予 root 权限。KernelSU使用教程
1、构建设备内核 同步内核源码:
<kernel_manifest.xml> 是一个可以唯一确定构建的清单文件,您可以使用该清单进行可重新预测的构建。 您应该从通用内核映像 (GKI) 发布构建下载清单文件
2、构建内核镜像
例如,我们需要构建 aarch64 内核镜像:
不要忘记添加 LTO=thin, 否则,如果您的计算机内存小于 24GB,构建可能会失败。
从 Android 13 开始,内核由 bazel 构建:
3、使用 KernelSU 构建内核
如果您可以成功构建内核,那么构建 KernelSU 就很容易,根据自己的需求在内核源代码根目录中运行以下任一命令:
最新tag(稳定版本)
main分支(开发版本)
指定tag(比如v0.5.2)
然后重建内核,您将获得带有 KernelSU 的内核映像!
常见问题
1、KernelSU是否支持我的设备? 首先,您的设备应该能够解锁 bootloader。如果不能,则不支持。 然后在你的设备上安装 KernelSU 管理器并打开它,如果它显示 不支持 ,那么你的设备没有官方支持的开箱即用的boot image;但你可以自己编译内核集成KernelSU进而使用它。 2、KernelSU 是否需要解锁Bootloader? 当然需要。 3、KernelSU 是否支持模块 ? 支持,但它是早期版本,可能有问题。请等待它稳定 ?? 4、KernelSU 是否支持 Xposed ? 支持。Dreamland 和 TaiChi 可以正常运行。LSPosed 可以在 Zygisk on KernelSU 的支持下正常运行。 5、KernelSU 支持 Zygisk 吗? KernelSU 本体不支持 Zygisk,但是你可以用 Zygisk on KernelSU 来使用 Zygisk 模块。 6、KernelSU 与 Magisk 兼容吗 ? KernelSU 的模块系统与 Magisk 的 magic mount 有冲突,如果 KernelSU 中启用了任何模块,那么整个 Magisk 将无法工作。 但是如果你只使用 KernelSU 的 su,那么它会和 Magisk 一起工作:KernelSU 修改 kernel 、 Magisk 修改 ramdisk,它们可以一起工作。 7、KernelSU 会替代 Magisk 吗? 我们不这么认为,这也不是我们的目标。Magisk 对于用户空间 root 解决方案来说已经足够好了,它会存活很久。KernelSU 的目标是为用户提供内核接口,而不是替代 Magisk。 8、KernelSU 可以支持非 GKI 设备吗? 可以。但是你应该下载内核源代码并将 KernelSU 集成到源代码树中并自己编译内核。 9、KernelSU 支持 Android 12 以下的设备吗? 影响 KernelSU 兼容性的是设备内核的版本,它与设备的 Android 版本没有直接的关系。唯一有关联的是:出厂 Android 12 的设备,一定是 5.10 或更高的内核(GKI设备);因此结论如下: 出厂 Android 12 的设备必定是支持的(GKI 设备) 旧版本内核的设备(即使是 Android 12,也可能是旧内核)是兼容的(你需要自己编译内核) 10、KernelSU 可以支持旧内核吗? 可以,目前最低支持到 4.14;更低的版本你需要手动移植它,欢迎 PR ! 11、为什么我手机系统是 Android 13,但内核版本却是 "android12-5.10"? 内核版本与 Android 版本无关,如果你需要刷入 KernelSU,请永远使用内核版本而非 Android 版本,如果你为 "android12-5.10" 的设备刷入 Android 13 的内核,等待你的将是 bootloop. 12、KernelSU 支持 --mount-master/全局挂载命名空间吗? 目前没有(未来可能会支持),但实际上有很多种办法手动进入全局命名空间,无需 su 内置支持,比如: nsenter -t 1 -m sh 可以获得一个全局 mount namespace 的 shell. 在你要执行的命令之前添加 nsenter --mount=/proc/1/ns/mnt 就可以让此命令在全局 mount namespace 下执行。 KernelSU 本身也使用了 这种方法 13、我是 GKI1.0, 能用 KernelSU 吗? GKI1 跟 GKI2 完全是两个东西,所以你需要自行编译内核。更新日志
v3.0.0版本
feat(ksud):优化ensure_dir_exist,不要在#2932中通过@Tools-cx应用程序硬编码路径 kernel:只有在@aviraxp在#2922中完成引导后才能修剪allowlist manager:在#2933中通过@YuKongA显示与组相同的UID manager:通过@YuKongA在#2934中修复webui包管理器 内核:无需在post-fs数据上标记进程,并在#2935中由@5ec1cff完成引导 kernel:file_wrapper:#2937中@5ec1cff对原始索引节点的复制模式 内核:在#2939中用@aviraxp将kmalloc()用法替换为kzalloc() 支持元模块,删除#2929中@Ylarod的内置覆盖挂载 ksud:在#2948中通过@5ec1cff添加模块更新 kernel/ksud:修复#2949中@aviraxp对KSU_IOCTL_NUKE_EXT4_SYSFS的定义 内核:在#2950中通过@backslashxx将umount列表暴露给ioctl接口 管理员:在#2952中通过@KOWX712为webui添加嵌入式支持 添加撤消卸载模块功能添加撤销卸载模块功能 通过@u9521在#2920 @Weblate在#2917中对Hosted Weblate的翻译更新 在#2956中通过@CanerKaraca23将元叠加添加到Dependabot 在#2965中,通过@Ylarod添加模块配置,迁移managedFeatures ksud:在#2968中使用正则表达式通过@aviraxp验证模块id chore(ksud):在#2970中通过@Tools-cx应用程序启用clippy::all,clippy::pedantic并使clippy快乐 manager:在#2967中添加对@sakana164直接打开和刷新zip文件的支持 build(deps):bump androidx.activity:activity在maven组的/manager中从1.11.0到1.12.0组成,跨越1个目录,由#2964中的@relisot[bot]完成 ksud:在#2971中,通过@aviraxp仅为模块脚本设置KSU_MODULE kernel:卸载2972中@aviraxp从受精卵分叉的所有分离过程 删除元overlayfs从Dependabot由@CanerKaraca23在#2974 ksud:优化引导补丁,在#2982中通过@5ec1cff将--out name arg添加到引导补丁和引导还原命令中 内核:删除#2987中@aviraxp无法访问的vfs_statx处理 manager:在#2989中通过@sakana164添加通过外部源安装ZIP模块的确认对话框 管理员:在#2981中通过@KOWX712向webui提供货币颜色 @Weblate在#2963中发布的Hosted Weblate翻译更新 在#3005中添加hasFragileUserData以在@u9521卸载时保留管理器数据

