java -jar lspatch.jar 命令行参数与用法
基本语法
java -jar lspatch.jar [全局选项] <APK路径> [修补选项]
不同版本(原版 vs opatch vs onpatch)的参数略有差异,但核心几个是一致的。不确定的话先跑 java -jar lspatch.jar --help 看当前版本支持哪些参数,本站以下示例以 opatch 分支为准。
全局选项(所有模式共享)
| 参数 | 作用 | 示例 |
|---|---|---|
-o, --output <path> | 指定输出目录 | -o D:\Tools\LSPatch\output |
-k, --keep-data | 修补时保留原 APK 的 additional data | 默认开,加固应用可能需要 |
--sign / --no-sign | 是否自动签名 | 默认自动签 |
--override-version-name <x> | 覆写 versionName | --override-version-name 8.0.43 |
--override-version-code <x> | 覆写 versionCode | 同上 |
--clear-sign | 修补前先清除原签名 | 加固应用签名冲突时用 |
-v, --verbose | 输出详细日志 | 调试用 |
--help | 显示帮助 |
修补模式参数
本地模式(Local)
只打框架,不嵌入模块,模块由手机上的 Manager 动态加载:
java -jar lspatch.jar D:\Tools\LSPatch\input\wechat.apk -o D:\Tools\LSPatch\output
默认就是本地模式,不需要额外指定。
便携模式(Portable / Integrated)
把模块直接嵌进 APK:
java -jar lspatch.jar D:\Tools\LSPatch\input\wechat.apk -o D:\Tools\LSPatch\output -m D:\Tools\LSPatch\modules\wechat_plus.apk
-m 参数可以多次使用,嵌入多个模块:
java -jar lspatch.jar input\wechat.apk -o output ^
-m modules\wechat_plus.apk ^
-m modules\wechat_tail.apk
多个模块会按指定顺序嵌入。某些模块有依赖关系时顺序很重要——先基础模块,后功能模块。
完整示例
场景:给 TikTok 打便携补丁,嵌入下载模块和去广告模块,输出到桌面。
cd /d D:\Tools\LSPatch
java -jar lspatch.jar ^
input\tiktok.apk ^
-o output ^
-m modules\tiktok_download.apk ^
-m modules\tiktok_adblock.apk ^
--clear-sign ^
-v
参数解释:
--clear-sign:先清掉 TikTok 原签名再加新的,某些加固应用需要-v:详细日志,出问题时方便排查
执行完后 output\ 目录下会生成修补好的 APK。
修补后的安装
电脑端的输出和手机端一样,签名都变了。安装流程:
- 输出目录里找生成的 APK(文件名通常带
_lspatch后缀) - 传到手机(USB、云盘都行)
- 手机上卸载原版
- 安装修补版
批量修补脚本思路
PowerShell 下循环修补一个目录里所有 APK:
$jar = "D:\Tools\LSPatch\lspatch.jar"
$input = "D:\Tools\LSPatch\input"
$module = "D:\Tools\LSPatch\modules\default_module.apk"
$output = "D:\Tools\LSPatch\output"
Get-ChildItem $input -Filter *.apk | ForEach-Object {
java -jar $jar $_.FullName -o $output -m $module
}
注意:
- 不同应用可能需要不同模块组,批量前先确认模块对所有目标都适用
- 加固应用可能需要
--clear-sign,通用脚本里可以先不加,有问题的单独跑 - 大 APK 修补耗时久,批量时加
-v方便知道进度
常见 CLI 报错
| 报错 | 原因 | 解决 |
|---|---|---|
UnsupportedClassVersionError | JRE 版本太低 | 升级到 JRE 11+ |
Could not find or load main class | jar 文件损坏或下载的是源码不是构建产物 | 重新下载正确的 jar |
Manifest parse failure | APK 被加固或 Manifest 格式特殊 | 换本地模式修补,或用手机端 Manager App 试试 |
Signature verification failed | 自动签名失败 | 加 --clear-sign 先清原签名 |
| 修补成功但输出目录为空 | -o 路径写错了 | 检查输出路径的权限 |