LSPatch 中文文档 下载 App

修补失败:加固、解析错误、Manifest 异常怎么办

流程里的"修补失败"指什么

你点「开始注入」后,进度条走完或走到一半,Manager/CLI 直接弹窗或返回错误,没有产出修补好的 APK 文件。这种情况和"修补成功但安装后闪退"(见另篇)是两回事。

最常见的报错类型

报错一:Manifest 解析失败

典型报错:Manifest file parse failure、Unable to read AndroidManifest.xml

原因:LSPatch 用 Apkzlib(Google 开源的 APK 操作库)解析 Manifest。某些加固方案会把 Manifest 加密、混淆或用自定义编码——Apkzlib 直接看不懂。

解决:

  1. 换 APK 来源:从已装应用选 vs 从 APK 文件选,两条路都试试(有时加固只在商店版里有)
  2. 用 MT 管理器先解包加固的 APK,拿到原始的 dex 和 Manifest,再重新打包成未加固 APK
  3. 试试 opatch 分支——它的 Manifest 解析逻辑比原版更宽松
  4. 实在不行,这个应用放弃 LSPatch 路线

报错二:APK 已损坏或打不开

典型报错:Invalid APK file、ZipError、Cannot open archive

原因:

解决:

  1. 换一个下载源,重新下载 APK
  2. split APK 应用:确保 base.apk + 所有 split APK 都在,部分 Manager 会自动合并,部分需要手动先合并
  3. 先在电脑上用解压软件能正常打开 APK(apk 本质是 zip),如果解压都不行就是文件损坏

报错三:重复修补

典型报错:AppComponentFactory already replaced、Patch already applied

原因:你选的目标应用已经被 LSPatch 修补过——Manifest 里已经有了 LSPatch 的 factory,再补一次就冲突了。

解决:

报错四:输出目录权限问题

典型报错:Cannot write to output directory、Permission denied

原因:Android 11+ 对存储访问限制更严格。如果选的输出目录在 Android/data/ 或其他受限路径,LSPatch 可能写不进去。

解决:

  1. 选内部存储根目录下的自建文件夹(比如 LSPatchOutput)
  2. 确认 Manager 已授予「所有文件访问权限」(系统设置 → 应用 → Manager → 权限)

通用调试技巧

开启详细日志:Manager 设置里打开「输出日志到目录」,CLI 加 -v 参数。修补失败后去日志文件里搜 Error 或 Exception,关键词比 Manager 弹窗的一句话有用得多。

换个 LSPatch 分支试试:原版停更了,opatch/onpatch 每天都在修 bug。某个应用在原版上补不了,在 opatch 上可能就行。

降低修补复杂度:便携模式先去掉所有模块,只打框架试试。如果能成功,说明模块嵌入环节有问题,逐个加模块排查。