Android · Mock GPS · MIT

Route Spoofer

Android mock-GPS route player for testing location-based apps — broadcasts a scripted, moving location to your whole device.

Beta-tested via QAProvider
Route Spoofer main screen with a multi-point route on the map

What it is

Route Spoofer is a standalone Android app that feeds a scripted, moving GPS location to your whole device. Broadcasting is separate from movement: a GPS toggle turns the fake location on or off, while GO / Pause drives it along a route you draw. Every other app on the phone reads the simulated position as if you were really there — no root and no desktop tool, it all runs on the phone.

Who it's for

Built for QA engineers and developers who work on location-based apps — driver, navigation, delivery and dispatch products.

Test without moving

Exercise a driver, navigation, delivery or dispatch app from your desk instead of walking or driving a real route.

Reproducible playback

Replay the exact same route at the exact same speed on every run — ideal for regression tests and bug reproduction.

Believable demos

Show a ride-hailing or dispatch platform with a realistic moving trip, without sending anyone outside.

Works with any map app

Because the location is injected at the system level, the fake position appears everywhere — not just inside Route Spoofer. Open Google Maps, Yandex Maps, Maps.me or any navigator and watch the marker follow your scripted route.

Spoofed location shown in Google Maps
Google Maps
Spoofed location shown in Yandex Maps
Yandex Maps
Spoofed location shown in Maps.me
Maps.me
Spoofed location shown in 2GIS
2GIS

Android “Mock location is on” system banner

Features

GPS and movement, separate

A GPS toggle turns location broadcasting on or off; GO / Pause drives along the route. With GPS on and a single point, the driver just stands there and broadcasts.

Stops, waits and GO

Give any point a wait — N minutes (auto-resume) or until you press GO. GO ends any wait early, so you stay in control of the trip.

Build and edit live

Tap the map to drop points (A, B, C…), drag to move them, and append new ones even while driving. Every point stays editable at any time — nothing is locked.

Live and per-leg speed

Drag the speed slider any time, even mid-drive, and set per-leg overrides. At the end the driver holds and keeps broadcasting; loop off, restart or ping-pong.

Saved routes

Save the whole scene as a named route, then load, rename or delete it — all on-device. Select several to export one JSON file or share it from Android; import merges them back.

Jump anywhere, remembered

Search any place or address to recenter the map across the globe, and it remembers your last view between launches.

Help and 8 languages

A built-in “?” legend explains every control. The dark instrument-panel UI sits on a light, readable map and ships in 8 languages with auto-detect.

Route Spoofer interface in Chinese

Multilingual interface

The app interface itself is translated into several languages and switches on the fly — handy when you test the same flow across locales.

  • English
  • Русский
  • Deutsch
  • Español
  • Português
  • Français
  • 中文
  • हिन्दी
Route Spoofer interface in Spanish Route Spoofer interface in Chinese Route Spoofer interface in Hindi

How it works

A Capacitor web UI (HTML/JavaScript) handles the map, route editing and a live preview. A native Kotlin foreground service owns the playback clock and injects the position into Android's GPS and NETWORK test providers, so the fix reaches the whole system and keeps emitting in the background. The movement and hold/wake logic live in a pure, unit-tested engine; saved routes and the last map view are stored on the device, and place search uses OpenStreetMap. Route Spoofer must be selected as the system mock-location app; the project builds on the JDK 21 toolchain.

  • Capacitor 7 web UI
  • Kotlin foreground service
  • GPS + NETWORK mock providers
  • JDK 21

How to use

A one-time phone setup, then turn GPS on and press GO. The two screenshots below show the developer-mode steps.

Phone setup

  1. 1

    Enable Developer options

    Open Settings → About phone → Software information and tap Build number seven times to unlock Developer options.

  2. 2

    Install the app

    Allow installs from unknown sources and sideload the app-debug.apk file onto the phone.

  3. 3

    Select mock-location app

    In Developer options open “Select mock location app” and choose Route Spoofer.

  4. 4

    Launch & grant

    Open Route Spoofer, grant Location and Notifications, wait for the readiness card, then turn GPS on and press GO.

Android Developer options with Route Spoofer set as the mock location app
Selecting Route Spoofer in the “Select mock location app” list

Build from source

Cloud build

GitHub Actions builds the app from source on every push, so every commit is verified to compile.

Local build

Or build it yourself in Android Studio with JDK 21 and the Android SDK.

Platform support

Android only. iOS has no public mock-location API, so it cannot be supported.

Android — supported iOS — not supported

License

Released under the MIT License — © 2026 Maxim Popelnitskiy. Free to use, modify and distribute.

MIT License · © 2026 Maxim Popelnitskiy