XposedFakeLocation
XposedFakeLocation is an Android app and Xposed module that spoofs your location for the apps you choose — and, optionally, at the system level — without using "mock location" from the developer options. Pick a spot on the map, walk around with a joystick, or play back a route along real roads.
[!IMPORTANT] This module targets 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 LSPosed from the official Telegram channel: t.me/LSPosed.
Table of Contents
- Features
- Prerequisites
- Installation
- Usage
- Building from Source
- Contributing
- License
- Disclaimer
- Acknowledgements
Features
Spoofing
- Per-app spoofing: Choose the target apps inside the app. Your selection drives the LSPosed module scope automatically, so you never manage scope by hand.
- Optional system-level hooks: Extend spoofing into
system_server(system) and the phone process (com.android.phone) with a single toggle. - Wi-Fi identity hooks: Optionally report a custom Wi-Fi SSID, BSSID and signal strength (RSSI) to target apps and hide real Wi-Fi scan results while spoofing.
- Fine-tuned location data: Horizontal/vertical accuracy, altitude, mean sea level (and its accuracy), speed (and its accuracy), GPS noise, and randomization within a radius.
- Reactive updates: Force-stop a target app once, the first time it's added. After that, changes in the manager (location, settings, start/stop) reach the running app immediately.
- Root relaunch: Force-stop and reopen a target app from the Target Apps screen (requires root).
Map
- Two map engines: MapLibre (default) shows a sharp vector map with light and dark styles that follow the app theme; osmdroid shows the classic OpenStreetMap tiles. You can also use your own MapLibre style URL.
- Offline maps (MapLibre): Download the area you're looking at and use the map without a connection. Downloads resume after losing the connection, are named after the place automatically, and can be renamed or deleted in Settings.
- Address search: Find places by name and drop the marker or a route point there.
Movement
- Joystick: A floating joystick over other apps lets you walk, run, bike or drive the fake location around while a target app is open.
- Custom routes: Build a route on the map and play it back with a music-player style overlay or notification controls. Set speed, wait time and speed variation per section, loop or reverse the route, and save routes to favorites.
- Road following: Route sections can follow real roads (car, bike or foot) instead of straight lines. Road paths are saved with the route, so playback works offline.
App
- Favorites: Save locations and routes for quick access.
- Settings backup: Export and import all settings, favorites and routes as a file.
- Headless / external control: Drive the module from another app or
adb shellvia broadcast intents (off by default). - Themes and languages: Light, dark or system theme; English, German and Chinese.
Prerequisites
- Rooted Android device with a 64-bit or 32-bit ARM processor.
- Android 10 (API 29) or newer.
- Modern LSPosed (new API): This module is built against the libxposed API (Xposed API 101+), so it requires a recent LSPosed build that supports the new API. Download the latest from the official Telegram channel: t.me/LSPosed. Legacy
Xposed/EdXposedand older LSPosed managers are not supported.
Installation
Install the APK
- Download
XposedFakeLocation.apkfrom the latest release, or install it from the LSPosed manager's module repository. - To build it yourself, see Building from Source.
- Download
Activate the Xposed module
- Open a recent LSPosed Manager that supports the new API (see Prerequisites).
- Enable the
XposedFakeLocationmodule and reboot once. - Select target apps from inside
XposedFakeLocation(theTarget Appsscreen). Your selection updates the module's LSPosed scope automatically. - (Optional) System-level hooks: to spoof
system_server(system) and the phone process (com.android.phone) as well, enableEnable system-level hooksinSettings. This adds those packages to the scope; reboot for the change to take effect (and again after turning it off).
[!NOTE] All you need to do in
LSPosedis enable the module — the entire scope is managed from withinXposedFakeLocation. Don't edit the module's scope manually inLSPosed.
Usage
Select target apps
- Open
Target Appsfrom the navigation menu and select the apps that should receive the fake location. Other apps keep their real location. - On a rooted device, tap the relaunch button next to an app to force-stop and reopen it so spoofing applies right away.
- Open
Pick a location
- Tap the map, or use the search button to find a place by name.
Start spoofing
- Press
Playto start andStopto end spoofing. Only the apps inTarget Appsare affected. - First time only: when an app is newly added, force-stop and reopen it once (use the relaunch button, or do it manually). After that, every change applies to the running app immediately.
- Press
Move around (optional)
- Joystick: open it from the map to steer the location over other apps. Speeds and presets are in
Settings→Joystick. It needs the "Display over other apps" permission. - Routes: switch the map to
Routemode, tap to add points, tap a line between points to set its speed, and pressPlay. Turn on Follow roads to move along streets. A route and the joystick can't run at the same time.
- Joystick: open it from the map to steer the location over other apps. Speeds and presets are in
Offline maps (optional)
- With the MapLibre map, move to the area you need and download it from the map. Manage downloaded areas in
Settings→Map→Offline areas.
- With the MapLibre map, move to the area you need and download it from the map. Manage downloaded areas in
Configure settings (optional)
- Fine-tune location data, Wi-Fi identity, the map engine and style, the search and routing servers, theme and language in
Settings. Export or import a backup from there as well.
- Fine-tune location data, Wi-Fi identity, the map engine and style, the search and routing servers, theme and language in
Headless mode (optional, off by default)
- Drive the module from another app or
adb shellvia broadcast intents — start/stop and update coordinates without opening the UI. Seedocs/EXTERNAL_CONTROL.mdfor details.
- Drive the module from another app or
Building from Source
Clone the repository
git clone https://github.com/noobexon1/XposedFakeLocation.gitBuild
Open the project in
Android Studio, let Gradle sync, and run the app on your rooted device.Or build from the command line:
./gradlew assembleReleaseThe APK is written to
app/build/outputs/apk/release/app-release.apk. UseassembleDebugfor a faster, unshrunk debug build (app/build/outputs/apk/debug/app-debug.apk).
Install
adb install -r app/build/outputs/apk/release/app-release.apkThen activate the module as described in Installation.
Contributing
Contributions are welcome! Please read CONTRIBUTING.md for the project structure, coding guidelines, and the pull request process.
License
Distributed under the MIT License. See LICENSE for more information.
Disclaimer
This application is intended for development and testing purposes only. Misuse of location spoofing can violate terms of service of other applications and services. Use at your own risk. There is no responsibility whatsoever for any damage to the device.
Acknowledgements
- GpsSetter - Highly inspired by this amazing project!
- libxposed API - The modern Xposed API this module is built on.
- LSPosed (Telegram) - The go-to Xposed framework manager app.
- MapLibre Native - Vector map rendering and offline maps.
- OpenFreeMap - Free map styles and tiles for the MapLibre map.
- OSMDroid - Classic OpenStreetMap map view.
- OpenStreetMap - Map data © OpenStreetMap contributors.
- Photon - Address search.
- OSRM and routing.openstreetmap.de - Road routing.
- Jetpack Compose - Modern UI toolkit for Android.
- Material Design 3 - Latest design system from Google.
- Line Awesome Icons - Beautiful icon set used in the app.
- FuckLocation - Reference for additional Android location hook handling.
