A GPS setter based on the Xposed framework. This fork is the first module to achieve support for Android 15+ with its sources available.
An increasing number of apps are abusing the location permission for tracking purposes, preventing the user from using the app without granting the permission. Traditionally on Android, modifying the response from android server is done using the mock location provider - however, the availability of this feature is device dependent. Additionally, some apps have started explicitly checking for signals regarding whether the location provided is reliable. This module aims to mitigate this by providing an ability to either,
- hook the app itself to modify the location it receives, or
- hook the system server if the app explicitly checks for whether itself is being hooked
Specifically, in the case of hooking just the app, it intercepts android.location.Location
and android.location.LocationManager
methods including
- Android 8.1+ (tested up to Android 16 Beta 2)
- Rooted devices with Xposed framework installed (e.g. LSPosed)
- Unrooted devices with LSPatch (with manually embedded specified location)
- ✨ (New) Supports system server location APIs introduced in Android 14+
- 🍀 (New) Supports a fully FLOSS build flavor - including all underlying dependencies
- 🖲️ (New) Allows adjusting location on the fly via an on-screen joystick overlay
- 🎉 (New) Features custom designed resource bundles with updated dependent libraries
- 🎲 Allows using a live updating random location in the vicinity of the set point
- 🔥 Compatible with latest Material Design
0.mp4
- Android1500 for the original GpsSetter targeting Android 8.1 to 13
- MapLibre for the mapping library
- microG for the FOSS implementation of Google Mobile Services