MockGps, an Android app that fakes your location for development
mockGps 支持模拟定位以及模拟导航 支持Android14
At a glance
- What is it?
- MockGps is a Kotlin Android application that simulates GPS location and simulated navigation, with a floating window, a control panel and a joystick for driving a route. It suits developers and QA testers who need a repeatable position, and its own documentation is blunt about the fact that many apps detect the fake location flag.
- Who is it for?
- Adopt MockGps if you need a controllable position on an Android device for testing an app that reads location, since the floating window, the control panel and the joystick make it possible to drive a route rather than teleport once. Do not adopt it as a way to defeat location checks in a production app, because the project states that the simulated data is flagged and that apps such as the Tencent ones detect it by default.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 166 days ago.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A debugging tool that grew out of a work need
MockGps is an Android application for simulated location and simulated navigation, with the project description noting support for Android 14. The primary language is Kotlin.
The README tells you where it came from, and the honesty is refreshing. The author says the software started as a small debugging tool for his own work and for his team, and that it was iterated slowly in the course of that work. He then notes that recently the download count rose sharply, that he did not expect so much attention, and thanks the people who found it useful for their learning or their work.
That origin story matters for how you should read the rest of the documentation. This is one developer's tool that grew into a widely used app, not a product with a team behind it, a support process and a compatibility matrix. The screenshots, the update log and the disclaimer are all consistent with that.
The distribution channel is equally informal. The README points to an APK download hosted on a third-party distribution service, rather than to a Play Store listing, and the top level of the repository is a plain Gradle project with build.gradle, config.gradle, gradle.properties, settings.gradle, a pack.sh script, the gradlew wrapper, and the app/ and common/ source directories.
Three control surfaces: the home screen, the floating window and the panels
The feature screenshots in the README for version 2.0 show the shape of the tool, and there are three distinct surfaces.
There is a home screen with the two main entry points, a location view and a navigation view, plus a set of navigation screenshots showing multiple routes. Then there is a floating window, shown in a location variant and a navigation variant, which is the piece that lets the tool sit over another app.
And there are two control panels, one for location and one for navigation, which are what you actually use to drive the simulation.
That structure is the point of the app. A mock location tool that only runs in its own screen is nearly useless for testing, because the thing you are testing is usually a different app. A floating window means the simulated position keeps updating while you interact with the app under test, which is the whole difference between a demo and a test tool.
The update log records where the functionality went in. Version 1.1 in September 2022 optimised the location selection module, added a broadcast to start simulated navigation, and added support for mock data from files along with a file generation module that lets you pick among multiple routes. Version 2.0 in November 2023 added a fine-tuning control, and the entry for January 2024 records that testing of v2.0 was complete.
Where the app comes from and how it is distributed
MockGps is distributed as an APK rather than through a store listing, and the README links a download hosted on a third-party distribution service.
That detail is worth pausing on if you are evaluating the project. An APK served from a link is something you install by allowing your device to install from an unknown source, and you are trusting the file and the host rather than a store's review process. For a debugging tool on a test device that is a reasonable trade, and for anything else it is a decision to make consciously.
The repository itself is a plain Gradle Android project, with build.gradle, config.gradle, gradle.properties, settings.gradle, a pack.sh script, the gradlew and gradlew.bat wrapper scripts, and the source in the app/ and common/ directories. The absence of a release-signing setup, a CI configuration and a published artefact list in the tree is consistent with a project that is built and shared by one person.
The README also asks for support in a personal way, with a payment QR code image in the repository, and asks readers to support the project if it has been useful for their learning or their work.
The limitation the project states plainly about itself
The caution section of the README is short and it is the most important paragraph in the document for anyone planning to use this.
It says that applications of the Tencent kind cannot have their location simulated, because Tencent location has anti-simulation protection enabled by default. It then says the implementation is based on system APIs, that the location information carries a marker identifying it as simulated data, and that third-party software checking for this is easy. The paragraph closes by saying the software is for daily development use only.
That is a much more useful statement than a claim that it works everywhere. It tells you the failure mode precisely: the system API path is a sanctioned interface, and it leaves an honest fingerprint in the payload, so an application that checks for the mock flag will see it.
Practically, that splits the use cases cleanly. If you are testing your own app, you control the client side and the flag is irrelevant. If you are trying to look like a different place inside someone else's app, the detection is a real obstacle and no amount of configuration in this tool changes that, because the flag comes from the platform path the tool is built on.
There is a second practical constraint mentioned elsewhere in the README. The Baidu SDK charges API traffic fees, the README explains that a policy change means neither individuals nor companies get a free allowance, and that you need to apply for your own API key and fill in the configuration before the app works normally. So the free download is not quite the whole picture, and the key requirement is worth knowing before you install.
The disclaimer is a licence statement in disguise
The disclaimer section is a legal notice rather than a description, and it deserves to be read as one.
It says the application is limited to development learning and development use, that the software's distribution and use are free of charge, that it refuses any person or entity selling it or redistributing a modified version, and that commercial profit use is prohibited. It also says the project maintainer assumes no responsibility for misuse of the software.
That is an unusual amount of restriction for a repository whose licence field GitHub cannot classify, and the two together mean something specific. There is no standard open source licence here to rely on, so the permission you have comes from the author's own terms rather than from a recognised licence text. Redistribution in a modified form, which is routine in some other workflows, is explicitly refused.
For a developer who installs the APK to test their own application, none of this is a practical obstacle. For anyone who wants to contribute, fork it, or ship a modified build, the README does not describe a route, and the release history does not suggest one either.
The release record is worth noting too. The listed versions are v2.0 on 2024-01-24, v2.5.2 on 2024-08-30 and v2.5.5 on 2024-11-22, while the last push to the main branch was on 2026-05-11. So the published artefacts and the branch have drifted apart, and the last few releases are from late 2024.
Editorial conclusion
Adopt MockGps if you need a controllable position on an Android device for testing an app that reads location, since the floating window, the control panel and the joystick make it possible to drive a route rather than teleport once. Do not adopt it as a way to defeat location checks in a production app, because the project states that the simulated data is flagged and that apps such as the Tencent ones detect it by default. Before you use it, read the warning section of the project, obtain the Baidu API key it asks for, and note the licence position, where the repository shows no recognised licence and the disclaimer restricts the app to development and learning use and refuses any resale or modified redistribution.
Frequently asked questions
What does the MockGps Android app do?
It simulates GPS location and simulated navigation on Android, with the project description noting support for Android 14. The interface has three parts, a home screen with a location view and a navigation view, a floating window that keeps running over another app, and separate control panels for location and navigation.
Why does MockGps not work in some apps?
The README states that applications of the Tencent kind cannot have their location simulated because Tencent location has anti-simulation protection enabled by default. The implementation is based on system APIs and the location information is marked as simulated data, which third-party software can check easily, so the app is for daily development use only.
Do I need an API key to use MockGps?
The README warns that the Baidu SDK charges API traffic fees and that a policy change means no free allowance is provided, so you need to apply for your own API key and fill in the configuration before the app works normally.
How do I install MockGps?
The README links an APK download hosted on a third-party distribution service rather than pointing to a Play Store listing. The repository itself is a Gradle project with build.gradle, settings.gradle, a pack.sh script and the gradlew wrapper, so the source can also be built from the app/ and common/ directories.
Can I modify and redistribute MockGps?
The disclaimer says the application is limited to development learning and development use, is free of charge, refuses any person or entity selling it or redistributing a modified version, and prohibits commercial profit use. The repository shows no recognised open source licence, so the author's stated terms are the permission you have.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/liujiayu5566-mockgps)Was this useful?