常见问题
基本
跟 LSPosed 比起来呢
两条路完全不同:
- LSPosed:需要 Root,模块作用在系统层,可以 hook 系统应用、framework
- NPatch:不需要 Root,只能 hook 被修补过的单个用户应用
NPatch 不是 LSPosed 路线的替代品,它解决的是「没办法 Root 但想用 Xposed 模块」这个场景。
支持哪些 Android 版本
最低 Android 9 (API 28)。上限大致跟 JingMatrix/Vector 一致。Android 8 以下不支持。
修补工具能在 Mac / Linux 跑吗
可以。jar-v<verName>-<verCode>-release.jar 是纯 Java,跨平台,只要有 Java 就能跑。设备端的管理器是 Android APK。
安装与修补
修补后的 APK 安装失败,提示「应用未安装」或「签名冲突」
设备上装了原版,原版签名跟修补版不同,Android 拒绝覆盖。先卸载原版再装修补版。由于签名不同,安装前需要先卸载原应用 — 确保已备份好个人数据。
修补时报错,APK 解析失败
可能的原因:
- APK 是 split APK(分包安装),多个 split 一起传,例如
java -jar jar-v1.0.5-639-release.jar base.apk split_config.arm64_v8a.apk ... - APK 来源是 XAPK / APKM 等容器格式,需要先解开取出真正的 APK
- APK 加固(dex 加密、壳保护),通常无法直接修补
NPatch 对 split APK 有特别处理:文件名以 split_ 开头、且没有 appComponentFactory 的会走 fast path,只重新打包不做注入。
一定要用内建密钥库吗
不一定。三个选择:
-npa用内建 NPatch 密钥库-fpa用内建 FPA 密钥库-k path storePass alias aliasPass自定义密钥库
三者互斥。如果不指定,会走默认行为(用内建 NPatch 密钥库)。内部以 BKS 格式加载并启用 V2 签名。
默认签名绕过等级是多少
1(Basic)。改的话用 -l 0~4 或 --sigbypasslv 0~4。注意集成模式(--embed)下上限为 2(High),想用 Extreme 或 Seccomp 必须走 --manager。
模块与运行
修补装好了,模块没生效
本地模式:
- 确认管理器有装(
top.nkbe.npatch) - 在管理器把模块勾进这个应用的作用域
- 确认模块本身在管理器里是启用状态
集成模式:
- 确认修补时用的是
--embed module.apk,而非--manager - 模块本身有
xposed_init/assets/xposed_init,否则框架认不到
加 -v 重新修补、看管理器日志或 logcat,能看到具体哪一步没过。
应用有签名校验,闪退或显示「签名异常」
调高 --sigbypasslv:
- 默认
1(Basic)不行 → 试2(High) - 还是不行 → 切到
--manager试3(Extreme,hookPackageInfo(Parcel)构造函数) - 都不行 →
4(Seccomp,ARM64 上的 seccomp v2 过滤与 trusted thread 文件重定向,最后手段)
注意 3 和 4 必须配合 --manager,集成模式下会被 CLI 直接拦截。如果到 4 还是绕不过,这个应用可能用了 SafetyNet / Play Integrity 之类的硬完整性检查,目前无法绕过。金融类、部分手游常见这个情况。
应用会检查 installer source(Play Store 安装来源)
用 --installerSource 设置原始安装来源字符串,例如 --installerSource com.android.vending 模拟从 Play Store 安装。
使用 GMS 的应用怎么办
如果设备上有 MicroG 之类的替代品(如 ReVanced GmsCore),修补时加 --useMicroG。它会在 manifest 加 fake-signature metadata 与 FAKE_PACKAGE_SIGNATURE 权限,把对 com.google.android.gms 的调用导到 MicroG。适用于 YouTube 等 Google 应用,需自行安装对应的 MicroG 服务。
想降级安装(修补版 versionCode 比原版高)
加 -r 或 --allowdown,会把输出 APK 的 versionCode 强制设为 1。这允许以后降级安装,一般来说不会影响应用实际感知的版本号。
浏览器或有孤立进程的应用无法加载模块
对那些需要孤立进程的应用(比如浏览器的渲染引擎),修补时加 --injectdex 把加载器 Dex 直接注入到原应用包,以确保它们正常运行。
两种模式
本地模式跟集成模式怎么选
简单版:
- 自用、会换模块 → 本地模式
- 给别人用 / 对方没装管理器 → 集成模式
- 应用签名校验很硬,需要 Extreme / Seccomp → 只能本地模式
详细看 本地与集成模式。管理器本身还能做什么看 管理器与 Shizuku。
同时用 --manager 跟 --embed 会怎样
CLI 会拦截,两个 flag 互斥。
本地模式下,没装管理器会怎样
应用照样会启动,但模块不会加载。等于是个正常但没模块生效的修补版本。
其他
修补后的 APK 可以登录原账号吗
大多数情况可以(包名没变)。有设备绑定、强签名校验、Play Integrity 的应用可能不行 — 例如部分银行 App、腾讯系列、强验证手游。
可以同时装原版跟修补版吗
默认不行(包名相同)。要同时装就得用 -p / --newpackage 改成不同的包名,但这会让多数应用认不出旧数据、推送也会失效。
在哪里反馈问题
- Bug:GitHub Issues
- 官方频道:Telegram
- 源码:GitHub
支持我
如果 NPatch 对你有帮助,欢迎通过微信赞助支持项目持续维护与后续开发。

免責聲明
NPatch 僅供學習、研究以及合法的應用程式相容性工作使用。請尊重當地法律、應用程式條款與原開發者權益。您需自行承擔在裝置上使用修補應用與模組的責任。