Skip to content

Repository files navigation

AtlasMock

An independently written Android virtual-location debugger using Material Design 3, OpenStreetMap, Root, and LSPosed.

简体中文说明

Licensed under GPL-3.0-only.

Testing-only notice. This project is for lawful, authorized device and application testing only. Do not use it to bypass access controls, misrepresent real-world activity, evade platform rules, or affect third-party services. You are solely responsible for complying with applicable law, service terms, and consent requirements.

The source is organized around an explicit Root boundary, reboot-volatile control state, LSPosed location rewriting, fixed-location mode, and a time-stepped route engine. See INDEPENDENT_IMPLEMENTATION.md for the implementation-separation audit and THIRD_PARTY_NOTICES.md for the current dependency inventory.

Build

Requirements: JDK 17, Android SDK 35, and an internet connection for Gradle dependencies.

./gradlew assembleDebug

Device setup

  1. Install the APK on a rooted device with LSPosed.
  2. Enable AtlasMock in LSPosed. Select System Framework as the minimum scope; add an individual target app if its client-side location wrapper also needs interception.
  3. Reboot or restart the selected scopes.
  4. Open AtlasMock, grant Root and notification access, choose a point, and start simulation.

The control properties intentionally disappear after reboot. AtlasMock marks rewritten locations with the atlasmock.active extra; it does not implement mock-detection concealment.

Disclaimer

AtlasMock is provided as is, without warranty of any kind. It is a debugging and test tool, not a guarantee that any app, service, device, or platform will accept simulated data. Use only on devices and software you own or are explicitly authorized to test. See DISCLAIMER.md.

Simulation modes

  • General: advances route coordinates at a selectable speed from 0 to 1000 km/h and does not synthesize step events.
  • Walking/running: uses a pace from 2 to 20 min/km, derives a reasonable cadence, and generates step-counter, step-detector, accelerometer, linear-acceleration, and gyroscope state. Optional natural variation introduces small, continuous position and cadence changes.

When enabled, system-side delivery hooks rewrite GPS, network, passive, and fused LocationResult objects before clients receive them. GNSS callbacks can be populated with synthetic GPS, BeiDou, and Galileo satellite state. Motion-sensor synthesis requires the target app itself to be included in the LSPosed scope.

About

Material 3 Android virtual-location debugger for authorized testing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages