Skip to content

Repository files navigation

GPS Adventure icon

GPS Adventure

An offline-friendly outdoor GPS and hiking companion for Android.

Record tracks, explore multiple map layers, download areas for offline use, import and export routes, and keep your outdoor data on your own device.

Version Platform Built with Flutter Total Downloads License

Download GPS Adventure v1.0.0 APK

Important

GitHub is the only official distribution source for GPS Adventure. The official APK is named gps_adventure_v1.0.0.apk and is available only from this repository's Releases page. Copies downloaded from other websites are unofficial and may have been modified.

Overview

GPS Adventure is a Flutter-based Android application designed for hiking, trekking, cycling, exploration, and other outdoor activities. It combines live GPS information, track recording, route management, offline maps, elevation data, points of interest, and useful activity statistics in one app.

No account is required. Recorded tracks, imported routes, downloaded map regions, waypoints, and settings are stored locally on the device. Internet access is used when downloading map tiles or requesting optional online map, routing, elevation, and points-of-interest data.

Screenshots

The files below are placeholders. Replace them with your real screenshots while keeping the same filenames.

Map & GPS
Map and GPS screen
Track Recording
Track recording screen
Offline Maps
Offline maps screen
Route Planning
Route planning screen with distance and save controls
Route Details
Route details and elevation profile
Settings
Settings screen

Main Features

Maps and navigation

  • Live GPS position with accuracy, altitude, heading, and satellite information.
  • Multiple selectable map layers, including outdoor, road, cycling, and hybrid map views.
  • Map rotation, compass, recenter, zoom controls, scale bar, and full-screen mode.
  • Automatic restoration of the last map position and zoom level.
  • Disk-based tile caching for faster loading and improved use with weak connectivity.
  • Downloadable offline map regions with selectable layers and quality levels.
  • Nature and tourism points of interest loaded from OpenStreetMap data.
  • Save waypoints directly from the map.
  • Draw routes manually, with trail-following routing when an internet connection is available.

Track recording

  • Record GPS tracks with live distance, duration, steps, and other statistics.
  • Pause and resume recording without connecting separate track segments.
  • Continue tracking in the background while the screen is off.
  • Optional keep-screen-awake mode during recording.
  • GPS accuracy filtering to reduce unreliable track points.
  • Track summaries with distance, duration, speed, ascent, descent, and elevation range.
  • Elevation profile charts.
  • Optional terrain-based elevation correction after recording.
  • Step counting and GPS-calibrated average step length.
  • Estimated calorie expenditure using body weight and carried load settings.
  • Optional accelerometer, gyroscope, magnetometer, and barometer logging with CSV export.

Routes and files

  • Import GPX, KML, and KMZ route files.
  • Export recorded tracks as GPX files through the Android share sheet.
  • Show or hide individual tracks, routes, and route points on the map.
  • Change track and route colors.
  • Preserve imported filenames for easier route identification.
  • Store all app-created files inside the application's private storage area.

Personalization

  • English and Bulgarian interface languages.
  • Configurable default map layer, GPS behavior, recording behavior, map controls, colors, and appearance.
  • Settings are applied immediately.
  • Portrait-oriented interface designed for practical one-handed outdoor use.

Installation

Install the official APK

  1. Open the repository's Releases page.
  2. Open release v1.0.0.
  3. Download gps_adventure_v1.0.0.apk.
  4. On your Android device, allow installation from your browser or file manager when prompted.
  5. Open the APK and complete the installation.
  6. Grant location permission so the app can display your position and record tracks.
  7. For reliable screen-off recording, allow background location access and exclude the app from aggressive battery optimization when necessary.

Android may show a warning because the APK is installed outside Google Play. Verify that the filename is exactly gps_adventure_v1.0.0.apk and that it was downloaded from this GitHub repository before installing it.

Permissions

GPS Adventure may request the following Android permissions:

Permission Purpose
Precise and approximate location Show the current position and record tracks.
Background location Continue recording when the app is in the background or the screen is off.
Notifications Display the foreground tracking notification required by Android.
Internet and network state Download map tiles and use optional online services.
Foreground service Keep active GPS recording running reliably.
Wake lock Keep the device CPU active during background recording.

Privacy and Data

GPS Adventure does not require an account. Tracks, routes, waypoints, settings, cached tiles, offline map regions, and exported files are stored locally in the app's private storage.

The app can contact third-party services to provide online functionality, including map tiles, walking-route calculation, elevation correction, and OpenStreetMap points of interest. Avoid using those online features when you require completely offline operation.

Uninstalling the app may remove its private local data. Export important tracks before uninstalling or clearing app storage.

Technology

  • Flutter and Dart
  • flutter_map for tile-based maps
  • geolocator for GPS location and background tracking
  • flutter_compass for device heading
  • SQLite through sqflite for local storage
  • GPX, KML, and KMZ import support
  • OpenStreetMap-based routing and points of interest

Build from Source

Requirements

  • A recent stable Flutter SDK
  • Android Studio or the Android SDK command-line tools
  • JDK 17
  • An Android device or emulator

A physical Android device is recommended for testing GPS, compass, sensors, background tracking, and offline maps.

Run the project

git clone https://github.com/vislupus/gps-adventure.git
cd gps-adventure
flutter pub get
flutter run

Replace vislupus/gps-adventure with the final GitHub repository path.

Build the APK

flutter pub get
flutter build apk --release

The generated APK will normally be located at:

build/app/outputs/flutter-apk/app-release.apk

Rename it before attaching it to the GitHub release:

mv build/app/outputs/flutter-apk/app-release.apk gps_adventure_v1.0.0.apk

On Windows PowerShell:

Rename-Item build/app/outputs/flutter-apk/app-release.apk gps_adventure_v1.0.0.apk

Release Signing

Use the same private release keystore for every public version. This allows users to install future updates over the existing app.

  1. Copy android/key.properties.example to android/key.properties.
  2. Enter the real keystore path, alias, and passwords.
  3. Build the release APK.
  4. Never commit android/key.properties, the keystore, or its passwords to GitHub.
  5. Keep a secure backup of the keystore. Losing it prevents compatible updates signed with the same identity.

Creating the GitHub Release

  1. Create a Git tag named v1.0.0.
  2. Create a GitHub Release using the same tag.
  3. Attach the APK with the exact filename gps_adventure_v1.0.0.apk.
  4. Publish the release.
  5. Test the download button at the top of this README.

Project Structure

lib/
├── config/       App configuration, strings, map layers, and assets
├── models/       Tracks, routes, points, waypoints, and offline regions
├── screens/      Map, tracks, saved routes, offline maps, and settings
├── services/     GPS, recording, database, GPX, routing, elevation, and maps
├── state/        Application state and persistent settings
└── widgets/      Map controls, status indicators, statistics, and charts

assets/           App icons and bundled images
android/          Android configuration and native integration
docs/screenshots/ README screenshot files

Important Notes

  • Map availability depends on the selected map provider and its service status.
  • Some online layers or services may have usage policies, rate limits, or regional restrictions.
  • Background tracking can increase battery consumption.
  • Battery-saving systems from some Android manufacturers may stop background tracking unless the app is excluded from optimization.
  • GPS, elevation, step count, and calorie values are estimates and should not be treated as professional surveying, medical, or emergency-navigation data.

Feedback and Issues

Use the repository's Issues page to report bugs or suggest improvements. When reporting a problem, include the Android version, device model, app version, and clear steps to reproduce it.


Download GPS Adventure only from the official GitHub Releases page.

About

Offline GPS maps, route planning, and GPX tracking for outdoor adventures.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages