Android mock-location app with map picking, route playback and a floating joystick for testing location-aware apps.

11,657
1,330
Java
GPL-3.0
4 years old

A practical choice if you need repeatable Android location scenarios without writing a test harness; the README is explicit that not every app will honor the mocked position.

The problem

You want to check how a map, delivery or check-in flow behaves at a specific address or along a path. Normally that means physically moving, hacking a test build, or repeatedly typing coordinates into developer options. GoGoGo changes the selection step: you tap a point on a map, search a place, paste coordinates, or build a multi-point route, then start a mock-location service. The result is a controlled position or a continuous route that you can stop and replay, instead of one coordinate you must keep resetting.

What's different

The core mechanism is documented plainly: the app registers as the system's mock-location provider through Android's debugging interface, which the README says usually requires no root. On top of that it layers map and satellite views, saved locations, route editing with distance and duration, GPX import/export, and an optional floating joystick that lets you steer while another app is on screen. The joystick has walk, run and cycling speed modes, and speed, altitude, heading, satellite count, accuracy and update interval are adjustable.

The move to routes matters more than the feature list suggests: a single fake coordinate tests a screen, while a route tests transitions between positions over time. GPX support means existing tracks can be reused rather than redrawn. Two trade-offs are worth naming. The README itself warns that system location policy, coordinate systems, caches and the target app's own logic can all affect what it sees, and the map's displayed coordinates may use a different coordinate system, so comparing numbers on screen is not a reliable check. Separately, background operation depends on notification, location and battery-management settings that vary by phone.

Who should try it

Good fit: an Android developer or QA tester who needs to reproduce a location state or walk a short route across app restarts, and who is willing to set the mock-location app in developer options and grant the requested permissions. The joystick and route playback are useful when the point of the test is continuous movement rather than a fixed pin.

Poor fit: anyone expecting a guaranteed result in every third-party app, since the README documents that adoption varies. Also a poor fit for someone who wants to avoid app accounts entirely, because some mock and separate-instance features are gated behind in-app account and membership conditions; the exact scope is shown in the app.

Requirements and limitations

The maintained release targets Android 10 and above and ships as an ARM64 (arm64-v8a) package, so older or 32-bit devices should check the release notes before trying. Setup requires location permission and selecting GoGoGo as the mock-location app in developer options; the joystick additionally needs overlay permission, and background reliability depends on exempting it from aggressive battery management.

The separate-installation feature creates another copy of GoGoGo with its own name, package and map configuration — not a general multi-account container for arbitrary apps — and it checks package information, signatures and authorization. Reuse of saved routes across devices is possible through GPX files, but whether a given app honors the mock position is outside the project's control. See the README and release assets for the version-specific requirements.

HotRepo's take

HotRepo recorded one daily-board appearance on 2026-10-28 at 11,655 stars with +12 that day. That single dated observation cannot establish whether interest is rising or fading, so persistence cannot be judged. Before installing, verify your Android version and CPU architecture against the release notes, and confirm on a test build of your target app that it actually accepts the mocked position.

Written by AI from the project's README, updated October 28, 2026. The project's own docs are the source of truth.