APatch 中文文档 下载 App

kptools 手动修补 — 内核更新后管理器还没更时的备用方案

什么时候需要手动修补

APatch 管理器内部封装了 KernelPatch 的修补逻辑,但有个时间差问题:当 KernelPatch 框架更新了(比如支持了新内核版本),APatch 管理器可能还没跟上更新。这种情况下你可以直接用 KernelPatch 发布的 kptools 命令行工具来手动修补。

另一个场景是你要批量处理多个 boot.img,或者要把修补流程集成到自动化脚本里——手动修补的 CLI 更适合程序化调用。

需要下载的文件

前往 KernelPatch 的 GitHub Releases 页面,下载:

  1. kptools-msys2-win.7z(Windows)或 kptools-linux(Linux)
  2. kpimg-android(内核补丁镜像)

解压后会得到 kptools.exe(Windows)或 kptools-linux(Linux)。

Windows 手动修补

步骤 1:准备文件

把原厂 boot.img、kptools.exe、kpimg-android 放在同一目录下(或记下它们的完整路径)。

步骤 2:解包 boot.img

kptools.exe unpack boot.img

执行后当前目录会多出一个 boot 文件夹,里面包含 kernel 和 ramdisk 等文件。

步骤 3:修补内核

把 kernel 文件改名为 kernel-b(这是 KernelPatch 的输入约定),然后执行:

kptools.exe -p --image kernel-b --skey "YourSuperKey" --kpimg kpimg-android --out kernel

参数说明:

命令执行后应该没有报错,当前目录会出现一个新的 kernel 文件。

步骤 4:重新打包 boot.img

kptools.exe repack boot.img

这会生成 new-boot.img,就是修补好的镜像。

步骤 5:验证输出

dir new-boot.img

文件应该比原厂 boot.img 稍大或差不多大小。

Linux 手动修补

和 Windows 流程完全一样,只是二进制不同:

# 下载并解压后
chmod +x kptools-linux

# 解包
./kptools-linux unpack boot.img

# 修补
mv kernel kernel-b
./kptools-linux -p --image kernel-b --skey "YourSuperKey" --kpimg kpimg-android --out kernel

# 打包
./kptools-linux repack boot.img

更推荐用 WSL

Windows 上手动修补,APatch 官方推荐用 WSL(Windows Subsystem for Linux) 运行 Linux 版本的 kptools,因为 Linux 二进制的兼容性更好。

wsl
# 在 WSL 里执行上面的 Linux 命令

在线修补

如果不想在本地装 kptools,可以试试 KernelPatch 提供的在线修补工具(kernelpatch-on-web.pages.dev)——上传 boot.img,填好 SuperKey,在线返回修补后的镜像。适合临时急用的场景。

常见错误

补充:kptools --help

kptools 还有更多高级参数(指定内核架构、自定义补丁、嵌入 KPM 等),完整列表执行:

kptools.exe --help