Complete LSPosed / Vector Framework Guide
The modern Xposed implementation for Android 8.1โ16+. Master the Vector (formerly LSPosed) framework for advanced app modifications and system customization without touching system partitions.
IMPORTANT
Project Rename Notice: The old JingMatrix/LSPosed has officially been renamed from LSPosed to Vector.
Essential Resources โ
- Main Rooting Guide - Universal rooting principles and device preparation
- Magisk Guide - Required root solution with Zygisk support
- KernelSU Guide - Alternative kernel-based root
- Custom Recovery Guide - Alternative installation method
- Root Apps Collection - Popular Vector/LSPosed modules directory
- FAQ - Frequently asked questions
- Troubleshooting Guide - Common issue solutions
What is Vector (LSPosed)? โ
Vector is a Zygisk module providing an ART hooking framework that maintains API consistency with the original Xposed. The framework allows modules to modify system and application behavior in-memory.
Key Features โ
Modern Architecture
- Completely rewritten, modern Zygisk architecture following the Vector & Zygisk Overhaul.
- Supports both legacy and modern hooking standards to ensure broad module compatibility.
Compatibility & Performance
- Supports devices running Android 8.1 through Android 17 Beta.
- Reflection Parity Overhaul: Completely rebuilt the
invokeSpecialMethodbackend to improve performance, enhance robustness, and mirror standard Java reflection behavior.
Module Ecosystem
- A module based on the LSPosed framework is fully compatible with the original Xposed Framework, and vice versa - a classic Xposed-based module will work well with LSPosed/Vector too.
What's New in Vector 2.0
While the major internal refactoring is still underway, version 2.0 was released to provide a stable, feature-complete environment for those relying on legacy libxposed APIs.
Key Changes โ
| Feature | Details |
|---|---|
| Project Rename | Officially renamed from LSPosed to Vector |
| Zygisk Overhaul | Completely rewritten modern Zygisk architecture |
| API 100 Finalized | Definitive API 100 implementation before the API 101 jump |
| Android 16 Support | Full support added |
| Telemetry Removed | All telemetry monitoring has been stripped out |
| LSPlt Hook Removed | Abandoned for efficiency |
| C++ Library | Switched to official C++ implementation (larger archive) |
API 101 Notice โ
WARNING
With the recent publication of libxposed API 101, the ecosystem is moving toward a new standard with significant breaking changes. If a module requires API 101, use the older API 100-compatible version of that module in the meantime.
Ongoing Refactor โ
The current LSPosed fork is undergoing a complete refactor into the new Vector project. The Java layer is being rewritten into Kotlin, with extensive documentation being added for the native layer.
Vector vs Classic Xposed โ
| Feature | Vector 2.0 (Current) | Classic Xposed |
|---|---|---|
| Android support | 8.1 to 17 Beta | 4.0 to 8.1 |
| Installation method | Magisk/Zygisk module | System modification |
| OTA compatibility | Survives updates | Requires reinstall |
| SafetyNet/Integrity | Hideable with Magisk | Detectable |
| Module scoping | Per-app control | System-wide only |
| Development status | Active (Vector/JingMatrix) | Discontinued |
| Performance impact | Minimal | Moderate |
| libxposed API | 100 (101 in progress) | Legacy only |
| In-memory hooking | โ Non-destructive | โ System files modified |
Prerequisites โ
Mandatory Requirements โ
IMPORTANT
Vector/LSPosed will NOT work without these requirements met. Do not proceed until all are satisfied.
Root Access
- Magisk 26+ with Zygisk enabled (recommended)
- KernelSU with Zygisk Next/NeoZygisk (supported)
- KernelSU Next (supported via Zygisk Next/NeoZygisk)
Android Version
- Android 8.1 (Oreo) minimum
- Android 8.1 through Android 17 Beta supported.
- Android 16 - fully supported as of the latest stable release
Zygisk Environment
- This framework requires a recent installation of Magisk or KernelSU with Zygisk enabled.
- Ensure a Zygisk environment (e.g., Zygisk Next/NeoZygisk) is present.
Magisk Configuration Checklist โ
Required Settings
- Magisk version - 26.0 or newer (recommended)
- Zygisk - Must be enabled in Magisk settings
- Magisk DenyList - Optional, for hiding root from specific apps
- Systemless installation - Magisk should be installed via patched boot image
Verification Commands
# Check Magisk version
su -c "magisk --version"
# Should return 26000 or higher
# Verify Zygisk status
su -c "magisk --status | grep Zygisk"
# Should show "Zygisk: enabled"
# Check Magisk installation type
su -c "magisk --path"
# Should return /data/adb/magisk
# Verify root access
su -c "id"
# Should show "uid=0(root)"KernelSU Configuration โ
WARNING
KernelSU support requires Zygisk Next/NeoZygisk for proper Vector/LSPosed functionality. Install the Zygisk provider first, then Vector.
KernelSU Requirements
- KernelSU kernel installed (GKI or LKM mode)
- KernelSU Manager app installed
- Zygisk Next/NeoZygisk installed (required for Zygisk environment)
- Root access verified
- SELinux properly configured
Device Compatibility โ
- โ Supported: Pixel, Nexus, OnePlus, Samsung (stock OneUI), AOSP-based ROMs
- โ ๏ธ Limited: MIUI/HyperOS (some versions have known crashes - see Troubleshooting), EMUI
- โ Not Supported: Android Go, Fire OS
ROM Compatibility โ
| ROM Type | Compatibility | Notes |
|---|---|---|
| Stock Android (Google) | Excellent | Best compatibility |
| AOSP-based ROMs | Excellent | LineageOS, PixelOS, etc. |
| OneUI (Samsung) | Good | Works with Magisk + Zygisk |
| OxygenOS (OnePlus) | Good | ColorOS base also works |
| MIUI/HyperOS (Xiaomi) | Moderate | Known crashes on some HyperOS 2.x versions |
| Nothing OS | Good | Growing compatibility |
| Custom GSI | Variable | Depends on implementation |
| GrapheneOS | Now Supported* | *Via Zygisk Next/NeoZygisk stable |
| CalyxOS | Good | Works with microG |
GrapheneOS Note: Support for GrapheneOS has been added in the Zygisk Next/NeoZygisk stable release. This changes previous guidance - GrapheneOS users should use Zygisk Next/NeoZygisk as their Zygisk provider.
Installation Guide โ
WARNING
We use the JingMatrix/Vector project (formerly JingMatrix/LSPosed). The original LSPosed project (LSPosed/LSPosed) is no longer maintained. Vector provides continued updates for Android 14โ16+ and ongoing bug fixes.
Method 1: Magisk Manager Installation (Recommended) โ
Best for: Most users, easiest method
Step 1: Enable Zygisk โ
- Open Magisk Manager app
- Tap the gear icon (Settings)
- Scroll to "Zygisk" and enable the toggle
- Tap "Reboot" when prompted
- Wait for device to restart (1โ2 minutes)
Verification after reboot:
# Via ADB
adb shell su -c "magisk --status | grep Zygisk"
# Should show: Zygisk: enabledStep 2: Download Vector (LSPosed) Module โ
Option A: GitHub Releases (Stable)
- Visit Vector Releases
- Download the latest release ZIP (e.g.,
LSPosed-v2.0-XXXX-zygisk-release.zip) - Verify the filename says "zygisk" (not riru)
Option B: GitHub Actions (Latest CI Build)
- Visit Vector GitHub Actions
- Click the latest successful workflow run (green checkmark)
- Download the artifact ZIP from the "Artifacts" section
- Note: GitHub requires users to be logged in to download CI artifacts.
- Debug builds are recommended for users encountering issues or performing troubleshooting. Users are encouraged to test CI builds to help identify bugs and accelerate development.
NOTE
Builds from Pull Requests (PRs) are often unstable and potentially unsafe depending on the author. Stay on the master branch for verified builds, unless you are asked to help with debugging.
Version Selection
- Zygisk version - For Magisk 26.0+ (recommended)
- Riru version - Legacy, deprecated. DO NOT use.
Step 3: Install Vector Module โ
- Open Magisk Manager > Modules tab
- Tap "Install from storage"
- Navigate to and select the downloaded Vector ZIP
- Wait for the console output:
- Installing LSPosed / Vector - Extracting module files - Setting up Zygisk module - Installation complete - Tap "Reboot" when prompted
Step 4: Verify Installation โ
After reboot, you should see a persistent notification from LSPosed/Vector in the status bar.
# Check if module is loaded
adb shell su -c "ls -la /data/adb/modules/lsposed*"
# Check daemon is running
adb shell su -c "ps -ef | grep lspd"
# Verify Zygisk still enabled
adb shell su -c "magisk --status"Step 5: Open the Manager โ
- Tap the LSPosed/Vector notification in the status bar
- OR -
- Open the manager via the Action button (new in the latest release)
- OR -
- Find the "LSPosed" app in the app drawer
Manager Interface:
- Modules tab - Installed modules list
- Logs tab - System and module logs for debugging
- Settings tab - Framework configuration
- Repository tab - Official module repository
Method 2: Custom Recovery Installation โ
Best for: Devices without Magisk Manager access, advanced users
Prerequisites โ
- TWRP, OrangeFox, or LineageOS Recovery installed
- Vector ZIP downloaded
- Magisk already installed with Zygisk enabled
Steps โ
- Boot to custom recovery:bash
adb reboot recovery - Navigate to Install section in your recovery
- Select the Vector ZIP file
- Swipe to confirm flash
- Reboot system (do NOT wipe cache/dalvik - unnecessary)
- Verify following Method 1, Step 4
Method 3: KernelSU Installation (via Zygisk Next/NeoZygisk) โ
WARNING
KernelSU requires Zygisk Next/NeoZygisk for Vector to work properly. Install the Zygisk provider before installing Vector.
Steps โ
- Install KernelSU kernel and Manager
- Install Zygisk Next/NeoZygisk via KernelSU Manager
- Reboot
- Download the Zygisk version of Vector (same ZIP as Magisk method)
- Install via KernelSU Manager > Modules > Install from storage
- Reboot
- Open manager from notification
# Verify KernelSU module list
su -c "ksud module list"
# Should show lsposed/vector in listFirst-Time Setup & Configuration โ
Step 1: Grant Root Permission โ
- LSPosed requests root access on first launch
- Tap "Grant" or "Allow" - select "Remember choice" for permanent access
Step 2: Enable Essential Features โ
Navigate to the Settings Tab in the manager:
- Enable resources hook - Required for UI theming, icon packs, font changers (recommended)
- Enable verbose logs - Required for troubleshooting (enable during setup, disable later)
- Enable modules for system framework - Required for system-level modifications (use with caution - can cause bootloops)
- Toggle off detectable logging - Users can now toggle off detectable logging of LSPosed for improved privacy/stealth (new in latest release)
Step 3: Configure Manager Shortcut โ
Settings > Manager shortcut
Options:
- Notification - Persistent notification for quick access (default)
- Launcher icon - Traditional app icon
- Action button - The LSPosed manager can now be opened via the Action button (new)
Verify Installation Status โ
Open LSPosed Manager > Home tab and check:
- Vector/LSPosed version (e.g., v2.0)
- Zygisk status (should show "Active")
- Android API level
- Magisk/KernelSU version
Installing & Managing Modules โ
Module API Compatibility โ
IMPORTANT
With the recent publication of libxposed API 101, the ecosystem is moving toward a new standard with significant breaking changes. Vector 2.0 implements API 100 only. Modules that require API 101 will not load. Check your module's requirements before installing. The Vector project has confirmed API 101 support is being planned.
Module Sources โ
Official Sources (Recommended) โ
- Vector/LSPosed Repository - Built-in to manager, verified modules, automatic updates. Access via: Manager > Repository tab
- GitHub Releases - Developer official releases (e.g., ChromeXt, QAuxiliary, WA Enhancer)
- XDA Developers Forums - Community-vetted modules with user feedback
Unofficial Sources (Use with Caution) โ
WARNING
Only install modules from trusted developers. Malicious modules can steal credentials, log sensitive data, cause system instability, or brick devices.
Installation Methods โ
Method 1: LSPosed Repository (Easiest) โ
- Open Manager > Repository tab
- Browse/search for a module
- Tap module > review details
- Tap "Install"
- Enable the module toggle
- Configure scope
- Reboot if required
Method 2: Manual APK Installation โ
# Via ADB
adb install module.apkOr install via file manager on-device, then:
- Open Manager > Modules tab (module appears automatically)
- Enable toggle
- Configure scope
- Reboot
Scope Configuration โ
New options have been added to the Select menu for scopes in the latest release.
Scope Types โ
| Type | Risk | Use Case |
|---|---|---|
| System Framework | High | System UI mods, global tweaks |
| Specific Apps | Low | App-specific mods (recommended) |
| All Apps (Global) | High | Only when explicitly required |
How to Configure Scope โ
- Manager > Modules tab > Tap a module
- Tap "Application Scope"
- Use the Search bar, toggle System apps, and check target apps
- Tap back to save
Example - WhatsApp Module:
- โ
Enable:
com.whatsapp - โ
Enable:
com.whatsapp.w4b - โ Disable: System Framework (unless required)
Scope Best Practices โ
- Only enable scope for necessary apps
- Avoid system framework unless explicitly required
- Never use "all apps" scope without good reason
- Test modules on one app before expanding scope
Module Management โ
Enable/Disable โ
- Manager > Modules tab
- Tap toggle switch (right side)
- Reboot to apply
Update Modules โ
- Repository modules: Manager > Repository > "Updates" section > tap Update / Update All > reboot
- Manual: Install new APK over existing, reboot
Uninstall โ
Via Manager: Long-press module > "Uninstall" > confirm > reboot
Via ADB:
adb shell pm uninstall com.example.module
adb shell su -c "rm -rf /data/data/com.example.module"
adb rebootTroubleshooting โ
Installation Issues โ
Click to expand
Vector Not Appearing After Install โ
Symptom: Module installed in Magisk, but no notification appears.
# Check if module is installed
adb shell su -c "ls /data/adb/modules/ | grep lsposed"
# Check Zygisk status
adb shell su -c "magisk --status | grep Zygisk"
# Check Magisk log for errors
adb shell su -c "cat /cache/magisk.log | grep lsposed"Solutions:
- Verify Zygisk: Magisk Settings > Zygisk > enabled > reboot
- Reinstall Module: Remove > reboot > reinstall > reboot
- Clear Magisk cache:bash
adb shell su -c "rm -rf /data/adb/magisk/*cache*" adb reboot - Verify correct ZIP: Ensure filename contains "zygisk", not "riru"
Manager Won't Open โ
# Force stop manager
adb shell am force-stop org.lsposed.manager
# Clear cache
adb shell pm clear org.lsposed.manager
# Relaunch
adb shell am start -n org.lsposed.manager/.ui.activity.MainActivityModule Loading Issues โ
Click to expand
Modules Not Working After Enable โ
Checklist:
- [ ] Module enabled in manager
- [ ] Scope configured correctly (target app selected)
- [ ] Device rebooted after enabling
- [ ] Module compatible with Android version
- [ ] Module does not require libxposed API 101 (Vector 2.0 only supports API 100)
- [ ] No conflicting modules
Check Logs:
- Manager > Logs tab
- Filter by module package
- Common errors:
ClassNotFoundException- Module incompatible with Android versionMethodNotFoundException- App updated, module outdatedSecurityException- Permission issueapi version too old- Module requires API 101, not supported yet
Fix API Mismatch:
If a module won't activate due to API version requirements, download an older version of that module that targets API 100, or wait for Vector to implement API 101 support.
Module Causes App Crashes โ
- Manager > Modules > tap module > remove the crashing app from scope > reboot
- If system-wide instability, disable the module entirely and reboot
System Stability Issues โ
Click to expand
Bootloop After Enabling Module โ
DANGER
Bootloops require immediate action to prevent data loss or extended downtime.
Emergency Recovery:
Step 1: Boot to Recovery
- Hold power 10+ seconds to force off
- Boot to recovery (device-specific combo)
Step 2: Disable LSPosed/Vector Modules
Method A - Via Recovery ADB:
adb devices
# Disable all Magisk modules
adb shell rm -rf /data/adb/modules/*/
# Or just Vector/LSPosed
adb shell rm -rf /data/adb/modules/lsposed/
adb rebootMethod B - Via TWRP File Manager:
Navigate to: /data/adb/modules/lsposed/
Rename folder to: lsposed.disabledMethod C - Via Recovery Terminal:
mount /data
rm -rf /data/adb/lspd/Step 3: Boot and Diagnose
- Device should boot normally
- Open Manager > Logs tab
- Re-enable modules one by one
- Identify the culprit module
App Compatibility Issues โ
Click to expand
Banking / Payment Apps Not Working โ
Root Cause: Apps use Play Integrity API to detect unlocked bootloaders, root access, modified systems, or the LSPosed/Vector framework presence.
Solutions:
Magisk DenyList:
- Magisk > Settings > Enable "Enforce DenyList"
- DenyList > Add banking apps > reboot
Shamiko Module:
- Download from LSPosed/LSPosed.github.io releases
- Install via Magisk > reboot (hides Magisk from apps)
Exclude from Vector scope:
- Check all enabled modules - ensure banking apps are not in any module's scope
- Some banking apps detect the LSPosed/Vector presence independently
WARNING
Bypassing app security measures may violate Terms of Service and local laws. Consider maintaining a non-rooted work profile for critical banking apps.
HyperOS / Xiaomi-Specific Issues โ
Click to expand
Vector Shows as Activated but Modules Don't Work (HyperOS 2.x) โ
LSPosed/Vector may show as "Activated" in the manager, but modules fail to work. In verbose logs, a large number of Java-related errors may appear even with all modules disabled. This is a known issue on certain HyperOS 2.x (MTK) builds.
Workarounds:
- Check the Vector Issues tracker for your specific device/ROM version
- Try switching between KernelSU and KernelSU Next with NeoZygisk
- Use Magisk + Zygisk instead of KernelSU if possible on your device
Manager & Configuration Issues โ
Click to expand
Lost Access to Manager โ
# Direct launch via ADB
adb shell am start -n org.lsposed.manager/.ui.activity.MainActivity
# Or via intent
adb shell am start -a android.intent.action.VIEW -d lsposed://Or reinstall the manager APK:
adb install -r lsposed-manager.apk
adb rebootSettings Not Saving โ
# Clear manager data (resets all config - reconfigure after)
adb shell pm clear org.lsposed.manager
# Check SELinux mode
adb shell getenforce
# Enforcing may cause config issues on some ROMsUninstallation โ
Complete Removal โ
Method 1: Magisk Manager (Recommended) โ
- Magisk Manager > Modules tab
- Find "LSPosed" > tap trash icon or three-dot menu > Remove
- Confirm > Reboot
# Verify removal
adb shell su -c "ls /data/adb/modules/"
# Should NOT show lsposedMethod 2: ADB โ
adb shell su -c "rm -rf /data/adb/modules/lsposed*"
adb shell su -c "rm -rf /data/adb/lspd"
adb shell su -c "rm -rf /data/misc/lspd"
adb rebootMethod 3: Recovery โ
- Boot to TWRP/OrangeFox
- File Manager >
/data/adb/modules/> deletelsposedfolder - Go to
/data/adb/> deletelspdfolder - Reboot system
Remove Individual Modules โ
# Uninstall module APK
adb shell pm uninstall com.example.module
# Remove module data
adb shell su -c "rm -rf /data/data/com.example.module"
# Clear module from LSPosed cache
adb shell su -c "rm -rf /data/adb/lspd/cache/com.example.module*"
adb rebootClean Residual Data โ
# Remove residual Xposed data
adb shell su -c "find /data/data -name '*xposed*' -exec rm -rf {} +"
# Clear LSPosed cache and logs
adb shell su -c "rm -rf /data/adb/lspd/cache/*"
adb shell su -c "rm -rf /data/adb/lspd/log/*"Verify Complete Removal โ
# Check no module remains
adb shell su -c "ls /data/adb/modules/"
# Check daemon is gone
adb shell su -c "ps -ef | grep lspd"
# Check manager app removed
adb shell pm list packages | grep lsposedNext Steps โ
Expand Your Setup โ
After Mastering LSPosed:
- Custom ROM Installation - Full system replacement
- Magisk Modules Guide - System-level modifications
- KernelSU Guide - Kernel-based root alternative
- Root Apps Collection - 300+ tested apps and modules
Advanced Customization โ
Complementary Frameworks
- Magisk modules - System-level tweaks
- Substratum/Swift Installer - System-wide theming
- Custom kernels - Performance tuning
- Root apps - Advanced functionality
Stay Updated โ
Follow Development
- LSPosed GitHub - Official updates
- LSPosed Telegram - Real-time support
Need help? Visit our FAQ section or Troubleshooting Guide.