Mockery GPS Spoofer: Persistent Native Android Mocking
The Android-side engine responsible for consuming coordinates from external providers and injecting them into the Android system via the standard LocationManager mock-location API. Designed from day one to operate continuously when the UI is closed, the screen is locked, or another app is in the foreground.
Decoupled Kotlin Service & Flutter UI
Why ordinary Flutter or React Native GPS spoofers fail in the real world.
Most mobile location spoofers bundle their simulation loop directly into a cross-platform UI thread. When Android locks the screen or reclaims memory from background activities, the Dart or JavaScript engine is paused—instantly freezing location updates.
Foreground Service Core
- Holds persistent Android Foreground Service with notification
- Manages WebSocket client & reconnection state machines
- Executes the pull-based polling scheduler
- Injects coordinates via
setTestProviderLocation - Applies current local system clock timestamps
- Runs uninterrupted through lock screen and app switching
Configuration & Monitor
- Manage provider profiles and server endpoints
- Real-time diagnostic Monitor telemetry
- Android mock provider status indicator & shortcuts
- May be closed at any time without disrupting spoofing
Supported Android Mock Location — No Root, No Hacks
Mockery is an engineering and testing tool. It strictly utilizes Android’s officially supported mock-location APIs. It requires Developer Options to be enabled and Mockery selected as the mock location app.
Standard LocationManager.GPS_PROVIDER test provider injection. 100% clean, stable, non-invasive, and supported on stock Android 8.0 through Android 15.
No Magisk, no LSPosed, no kernel patches, and no mock-detection bypasses. We do not attempt to conceal the fact that coordinates are simulated.
Read our in-depth educational guide: How Android Mock Locations Work & How to Configure Developer Options →
Technical Engine Features
Engineered to eliminate the flaws of conventional GPS spoofers.
Pull-Based Polling Model
Instead of receiving an uncontrolled stream of server updates, the Spoofer pulls coordinates on a user-defined schedule (e.g. every 1.0 second or every 2.0 seconds). The user controls bandwidth and battery consumption directly.
In-Memory Last Location Retention
If an underground tunnel breaks your connection or the browser controller refreshes, the Spoofer never resets to (0,0) or default coordinates. It holds the last verified coordinate authoritative until connection restores.
Local Clock Timestamp Injection
Remote network latency must never contaminate the Android location provider. The Spoofer applies Android's current SystemClock.elapsedRealtimeNanos() at the instant of injection.
Destination Polling Decay
Upon reaching the route's destination, the Spoofer waits 2 minutes, then steps polling down to 10 seconds. Local 1Hz Android injection continues unaffected, protecting your data plan and battery if forgotten.
Actionable Foreground Notification Shade
Control the spoofer without ever switching apps. The notification gives instant semantic status and lets you pause, resume, or terminate simulation directly from the lock screen or shade.
The Diagnostic Monitor
Answer the 3 vital questions: Is it working? What location is it using? Where is it failing?
Instead of meaningless CPU graphs and raw stack traces, Mockery provides a clean, purposeful diagnostic console in Flutter:
LocationManager.GPS_PROVIDER)
Last Freshness: 0.4s ago
Multi-Profile Support & Secure Storage
The Spoofer allows configuring multiple profiles for different simulation sources (e.g. Production Web Controller, Localhost Dev Server, or Car ESP32). Switching between them takes one tap.
EncryptedSharedPreferences backed by the hardware Android Keystore. When authentication credentials are configured, the Spoofer refuses to connect over unencrypted ws://, protecting your credentials over public Wi-Fi networks.
Ready to Pair with Mockery Controller?
Generate straight-line waypoints, adjust vehicle speeds, and control this Android Spoofer directly from your browser.