PRs
- Stable_Refactor by @noobexon1 in #36
XposedFakeLocation — Modern Xposed API Release
Important
This release migrates the module to the modern libxposed API (Xposed API 101+). You must use a recent LSPosed build that supports the new API — older managers will not load the module. Get the latest from t.me/LSPosed.
Please read the updated README before updating — setup and scope handling changed significantly.
Highlights
- New Xposed API. Fully migrated from the legacy
XposedBridge/XposedHelpersAPI to the modernio.github.libxposedAPI used by current LSPosed. - Scope is now managed entirely from the app. Just enable the module in LSPosed — that's it. Selecting/deselecting target apps and toggling system-level hooks updates the LSPosed scope automatically. No more manual scope editing in LSPosed.
- Reactive updates. You only need to force-stop/restart a target app the first time it enters the scope. After that, changes you make in the manager (location, settings, start/stop) apply to the running target app immediately — no restart needed.
New features
- In-app target app selection that drives the module scope directly (add/remove apps from the
Target Appsscreen). - "Enable system-level hooks" toggle (Settings) — adds the Android system framework (
android) and phone process (com.android.phone) to the scope for deeper, system-level spoofing. Requires a reboot to take effect (and another to turn off). - Root relaunch button — force-stop and reopen a target app straight from the
Target Appsscreen so spoofing applies right away (requires root).
Changes & cleanup
- Cross-process config now uses Xposed remote preferences (replacing the old
XSharedPreferences/world-readable prefs), with a single source of truth split between hook-shared remote prefs and manager-only local prefs. - Removed DataStore and the legacy module-enabled detection hack, blocking status check, and error screen — the manager binds to
XposedServicereactively instead. - Removed the "Use built-in target app selection" setting; in-app target selection is now the default and only mode.
- Migrated the phone/system service hooks to the new API with name-based target attribution, gated so they stay inert unless you're actively spoofing a selected app.
Build / CI
- CI release workflow now builds on JDK 21 to match the project's Java 21 / Kotlin
jvmTargetsettings.
Requirements
- Rooted Android device, Android 11+ (API 30), and a modern LSPosed build (new API). Legacy Xposed/EdXposed and old LSPosed managers are not supported.
Full Changelog: v0.1.0...v0.1.1