序
如果设备没root,还想使用一些LSPosed模块,可以使用LSPatch
他可以将LSPosed模块直接封装到目标软件的安装文件里,直接安装即可使用模块
但是同时,因为他是直接将模块封装到软件中,所以每次想更新模块都要重新封装然后安装
所以如果设备允许,我建议直接使用LSPosed
使用方法
准备好基础APP的APK文件以及模块的APK文件
执行java -jar lspatch.jar APP.apk -m 模块.apk -l 2 -f
此指令参数解读:
-m:添加模块 可以加多个 -m 模块2.apk-l 2:最高签名级别 建议加,减少安装/冲突问题-f:强制覆盖输出文件
常用参数完整介绍:
| 参数 | 说明 |
|---|---|
| 目标 APK | 第一个位置参数,必须提供 |
| -m, –embed \<模块.apk> | 嵌入模块(可多次使用,加多个模块) |
| -l, –sigbypasslv \<0-2> | 签名绕过级别,很重要 0 = 禁用 1 = pm 级别 2 = pm + openat(最强) |
| -f, –force | 强制覆盖已存在的输出文件 |
| -d, –debuggable | 把应用改为可调试(debuggable=true) |
| -v, –verbose | 输出详细日志 |
| –manager | 只注入框架,不嵌入任何模块(Manager 模式) |
| -o, –output \<目录> | 指定输出目录(默认当前目录) |
| -r, –allowdown | 允许降级安装(把 versionCode 改小) |
| –injectdex | 额外注入 loader dex(主要用于浏览器类 App,如 Chrome 模块) |
| –keystore \<文件> | 自定义签名密钥库 |
| –v1 / –v2 | 强制使用 V1 或 V2 签名 |