Location Testing Utility for Android — no root required.
Patch any app to use custom GPS coordinates with a single tap.
Patch & Spoof — Select any installed app, patch it with location hooks, and assign custom GPS coordinates. The patched app sees your chosen location across all Android location APIs.
Map Picker — Interactive full-screen map with Google Maps tiles, search bar, satellite/street toggle, and crosshair targeting. Search by address, coordinates, or Google Maps URL. Tap to save locations with custom names.
Saved Places — Build a library of GPS locations. Assign any saved place to any patched app instantly. Each place stores coordinates, accuracy radius, and reverse-geocoded address.
Per-App Control — Each patched app gets its own location assignment. Switch between saved places or revert to real GPS on a per-app basis.
Visual Patching Timeline — Watch the multi-step patching process (parse, patch, install) with a clear timeline UI and color-coded status updates.
Comprehensive Hooking — Intercepts LocationManager, FusedLocationProviderClient, GNSS satellite data, WiFi scan results, and cell tower APIs. Includes realistic GPS jitter, satellite simulation, and anti-detection bypasses.
Material You — Dynamic color theming with seed color picker, dark/light/system mode, and Material 3 Expressive components throughout.
PhantomLTU uses LSPatch technology to inject location hooks into target apps at the APK level:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 1. Select │────>│ 2. Patch │────>│ 3. Install │────>│ 4. Spoof │
│ │ │ │ │ │ │ │
│ Pick an app │ │ Inject hook │ │ Install the │ │ Assign any │
│ from your │ │ loader into │ │ patched APK │ │ saved place │
│ device │ │ the APK │ │ on device │ │ to the app │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
Once patched, the app's location APIs are intercepted at runtime:
LocationManager—getLastKnownLocation,requestLocationUpdates,getCurrentLocation, provider queriesFusedLocationProviderClient— Google Play Services location (Tasks, LocationResult, LocationCallback)GnssStatus— Simulated satellite constellation with realistic PRN, elevation, azimuth, and SNR dataTelephonyManager— Cell tower location queries blocked to prevent triangulationWifiManager— Scan results cleared to prevent WiFi-based positioning
All spoofed locations include micro-jitter, GPS noise, and realistic metadata to appear as genuine GPS fixes.
Clean Architecture with MVVM. Three layers — presentation depends on domain, domain has no dependencies, data implements domain interfaces.
┌─────────────────────────────────────────────────────────────┐
│ Presentation Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Screens │ │ ViewModels │ │ State │ │
│ │ (Compose) │ │ (Logic) │ │ (UiState) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Domain Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Models │ │ Repositories│ │ Errors │ │
│ │ (Domain) │ │ (Interfaces)│ │ (Sealed) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ DataSources │ │ DTOs │ │ Mappers │ │
│ │ (Local) │ │ (Transfer) │ │ (DTO→Model) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
| Module | Type | Purpose |
|---|---|---|
app |
Android App | UI (Compose), ViewModels, DI (Koin), Navigation |
patcher |
Pure JVM | APK patching engine — modifies APKs to inject bootstrap loader |
meta-loader |
Android Lib | Stub AppComponentFactory injected into patched APKs |
patch-loader |
Android Lib | Runtime hooks (Kotlin + C++) that intercept location APIs |
shared/java |
Pure JVM | Shared constants, config keys, DTOs |
shared/android |
Android Lib | Android-specific shared utilities |
core |
Android Lib | LSPosed core — Xposed method hooking framework |
apkzlib |
Java Lib | Google's APK manipulation library |
| Category | Technology | Version |
|---|---|---|
| Language | Kotlin | 2.3.0 |
| UI | Jetpack Compose | BOM 2025.12.01 |
| Design | Material 3 Expressive | Dynamic theming |
| Navigation | Navigation3 | 1.1.0-alpha01 |
| DI | Koin | 4.2.0 |
| Database | Room | 2.8.4 |
| Networking | Ktor | 3.3.3 |
| Maps | Leaflet.js + Google Maps tiles | 1.9.4 |
| Image Loading | Coil | 3.3.0 |
| Logging | Kermit | 2.0.8 |
| Serialization | kotlinx-serialization | 1.9.0 |
| Native | C++23 / CMake | NDK 29 |
- JDK 21+
- Android SDK 36
- NDK 29.0.13113456
./gradlew assembleDebug # Debug APK
./gradlew assembleRelease # Release APK
./gradlew buildDebug # Build + copy to out/debug/
./gradlew buildRelease # Build + copy to out/release/
./gradlew test # Unit tests| Property | Value |
|---|---|
| Min SDK | 28 (Android 9.0 Pie) |
| Target SDK | 36 |
| ABIs | arm64-v8a, armeabi-v7a, x86, x86_64 |
If PhantomLTU is useful to you, consider supporting its development:
PhantomLTU is built on the shoulders of several amazing open-source projects:
| Project | Description |
|---|---|
| LSPosed | Xposed framework — the core method hooking engine powering runtime hooks |
| LSPatch | Rootless Xposed framework — APK-level module injection without root |
| libxposed | Modern Xposed API interfaces |
| Rikka | Suite of Android developer libraries (rikkax, hidden API bypass, autoresconfig) |
| apkzlib | Google's APK manipulation library |
| Leaflet | Interactive map rendering |
This application is provided strictly for educational, software testing, and application development purposes only.
By using this software, you acknowledge and agree to the following:
-
Intended Use — This software is designed exclusively for developers and testers who need to simulate GPS coordinates for testing location-based features in their own applications.
-
Prohibited Activities — You shall NOT use this application to:
- Falsify your location for attendance or work verification systems
- Deceive any person, organization, or service
- Violate any applicable local, state, national, or international law
- Circumvent security measures of any third-party application
- Engage in any form of fraud or misrepresentation
-
No Warranty — This software is provided "AS IS" without warranty of any kind. The developers make no guarantees regarding reliability, accuracy, or completeness.
-
Liability — You are solely responsible for your use of this application. The developers shall not be held liable for any misuse or any direct, indirect, incidental, special, or consequential damages arising from its use.
-
Compliance — You agree to comply with all applicable laws and regulations in your jurisdiction regarding the use of GPS spoofing software.
This project is licensed under the GNU Affero General Public License v3.0.








