A rootless Xposed framework that embeds Vector into an app by patching its APK — no root, no Zygisk.
See the codeLSPatch is the rootless companion to Vector, the Xposed framework this project is built on. Where Vector hooks the whole system as a Zygisk module and needs Magisk or KernelSU, LSPatch needs neither: it rewrites a single target app's APK to embed the loader and framework runtime, so that one app loads your Xposed modules on its own.
The two share a codebase — the same LSPlant-based hook engine and the same manager UI — and run the same modules. Read Vector's documentation for anything about the framework itself; this README only covers what is specific to the rootless path.
[!NOTE] LSPatch changes one app at a time and leaves the rest of the system untouched. It cannot hook system processes or apps you have not patched — that is what the rootful Vector is for.
Both generations of Xposed module run through the same engine, so the module repository and the API references listed under Vector's Developer Resources apply unchanged:
IXposedService.de.robv.android.xposed modules keep working as-is.| Channel | Source |
|---|---|
| Stable Releases | GitHub Releases |
| Canary (CI) Builds | GitHub Actions |
Each release ships the manager (manager.apk) and the command-line patcher (lspatch.jar), plus a
-debug build of each. When reporting a bug, please reproduce it on the debug build first.
[!CAUTION] GitHub requires you to be logged in to download CI artifacts. The link above is filtered to the
masterbranch; builds from pull requests are unverified.
Manager app — install manager.apk, pick a target, patch it, and install the result. From there
you manage each patched app's modules in place, install modules from the store, and read a live
framework log. Two modes:
Command line — download lspatch.jar and run java -jar lspatch.jar to patch an APK from a shell.
./gradlew spotlessApply before submitting. It formats only the files you changed (ktfmt for
Kotlin, palantir-java-format for Java), so you never reflow untouched code.219 followers · starred Jan 2025
109 followers · starred Nov 2025
62 followers · starred Aug 2024
4 followers · starred Nov 2024
A rootless Xposed framework that embeds Vector into an app by patching its APK — no root, no Zygisk.
See the codeLSPatch is the rootless companion to Vector, the Xposed framework this project is built on. Where Vector hooks the whole system as a Zygisk module and needs Magisk or KernelSU, LSPatch needs neither: it rewrites a single target app's APK to embed the loader and framework runtime, so that one app loads your Xposed modules on its own.
The two share a codebase — the same LSPlant-based hook engine and the same manager UI — and run the same modules. Read Vector's documentation for anything about the framework itself; this README only covers what is specific to the rootless path.
[!NOTE] LSPatch changes one app at a time and leaves the rest of the system untouched. It cannot hook system processes or apps you have not patched — that is what the rootful Vector is for.
Both generations of Xposed module run through the same engine, so the module repository and the API references listed under Vector's Developer Resources apply unchanged:
IXposedService.de.robv.android.xposed modules keep working as-is.| Channel | Source |
|---|---|
| Stable Releases | GitHub Releases |
| Canary (CI) Builds | GitHub Actions |
Each release ships the manager (manager.apk) and the command-line patcher (lspatch.jar), plus a
-debug build of each. When reporting a bug, please reproduce it on the debug build first.
[!CAUTION] GitHub requires you to be logged in to download CI artifacts. The link above is filtered to the
masterbranch; builds from pull requests are unverified.
Manager app — install manager.apk, pick a target, patch it, and install the result. From there
you manage each patched app's modules in place, install modules from the store, and read a live
framework log. Two modes:
Command line — download lspatch.jar and run java -jar lspatch.jar to patch an APK from a shell.
./gradlew spotlessApply before submitting. It formats only the files you changed (ktfmt for
Kotlin, palantir-java-format for Java), so you never reflow untouched code.219 followers · starred Jan 2025
109 followers · starred Nov 2025
62 followers · starred Aug 2024
4 followers · starred Nov 2024