SkillAgentSearch skills...

OpenTracks

Repository moved to: https://codeberg.org/OpenTracksApp/OpenTracks

Install / Use

/learn @OpenTracksApp/OpenTracks
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="drawable-svg/LOGO.svg" alt="OpenTracks logo" height="40"></img> OpenTracks: a sport tracker

OpenTracks is a sport tracking application that completely respects your privacy.

Awesome Humane Tech

<table> <tr> <th>Free (F-Droid)</th> <th>Free (Nightly for F-Droid)</th> <th>Donations</th> </tr> <tr> <td align="center"> <a href="https://f-droid.org/packages/de.dennisguse.opentracks.playstore"> <img alt="Get it on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" height="60" align="middle"> </a> </td> <td align="center"> <a href="https://fdroid.storchp.de/fdroid/repo?fingerprint=99985A7E73DCB0B16C9BDDCE7A0B4996F88068AE7C771ED53E217E69CD1FF196"> <img alt="Nightly builds (for F-Droid client)" src="https://opentracksapp.com/static/img/fdroid.storchp.de.png" height="90" align="middle"> </a> </td> <td align="center"> <a href="https://liberapay.com/OpenTracks/donate"> <img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg" height="45" align="middle"> </a> </td> </tr> <tr> <td align="center"> <img alt="OpenTracks version published on F-Droid" src="https://img.shields.io/f-droid/v/de.dennisguse.opentracks.playstore.svg" align="middle" > </td> <td></td> <td align="center"> <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore"> <img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" height="60" align="middle"> </a> </td> </tr> </table>

Translations are hosted on <a href="https://hosted.weblate.org/engage/opentracks/"> hosted.weblate.org</a>. <a href="https://hosted.weblate.org/engage/opentracks/"> <img src="https://hosted.weblate.org/widgets/opentracks/-/horizontal-auto.svg" alt="Translation status" /> </a>

Screenshots

<div> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot1.png"> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot2.png"> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot3.png"> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot4.png"> </div> <div> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot5.png"> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot6.png"> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot7.png"> <img width="23%" src="fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot8.png"> </div>

Features

  • Tracking: track your sport and outdoor activities

  • Voice announcements

  • Photos and Markers: mark interesting locations while tracking

  • Export:

    • export tracks either as KMZ 2.3 (incl. photos), KML 2.3, or GPX 1.1
    • export automatically after each recording (e.g., to sync via Nextcloud)
    • avoid duplication: each exported file contain a random unique identifier (i.e., opentracks:trackid)
  • Altitude:

    • gain/loss via barometric sensor (internal if present or via Bluetooth's Environmental Sensing Service)
    • shown in EGM2008 (above mean sea level); exported as WGS84
  • Bluetooth LE sensors:

    • heart rate
    • cycling: speed and distance
    • cycling: cadence
    • cycling: power meter
    • running: speed and cadence
    • support for BLE sensor training only (i.e., without GPS) for indoor training

    An overview of tested sensors: README_TESTED_SENSORS.md

Gadgetbridge integration

OpenTracks can be used with Gadgetbridge:

  • shows statistics via notification on smart watches (requires Gadgetbridge 0.56.1 or later), and
  • Gadgetbridge's GPX exporter generates opentracks:trackid to avoid duplication (Gadgetbridge 0.53.0 or later).

Privacy

  • No Internet access: Internet is not used
  • No advertising
  • No in-app analytics
  • No use of Google Play Services

Only required permissions:

  • ACCESS_FINE_LOCATION: required to use the GPS.
  • ACCESS_BACKGROUND_LOCATION: required to start recording with GPS while phone is in standby. (e.g. when triggered by Public API from an external device)

Public API

OpenTracks includes an API for starting/stopping recording by another installed application (e.g., Automate, Tasker, or Easer). The API is disabled by default to protect the user's privacy, but it can easily be enabled in the settings. Once enabled, the API can be invoked by sending an explicit Intent to start an activity.

Package (depends on the variant installed):

  • F-Droid: de.dennisguse.opentracks
  • GooglePlay: de.dennisguse.opentracks.playStore
  • Debug: de.dennisguse.opentracks.debug
  • Nightly: de.dennisguse.opentracks.nightly

Classes:

  • Start a recording: de.dennisguse.opentracks.publicapi.StartRecording
    • Set track data: TRACK_NAME, TRACK_DESCRIPTION, TRACK_CATEGORY, and TRACK_ICON ( non-localized identifier see /src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38). NOTE: if TRACK_ICON is not present, TRACK_CATEGORY will be used to determine the icon ( localized).
    • Send recorded data to another application via Dashboard API: STATS_TARGET_PACKAGE and STATS_TARGET_CLASS
  • Stop a recording: de.dennisguse.opentracks.publicapi.StopRecording
  • Create a marker: de.dennisguse.opentracks.publicapi.CreateMarker

For testing the API using adb, the general command syntax is:

adb shell am start -e someParameter someValue -n "package/class"

Depending on the package and class, a complete command could look something like this:

adb shell am start -n "de.dennisguse.opentracks.playstore/de.dennisguse.opentracks.publicapi.StartRecording"

File formats compatibility with open-source software

| | GPX 1.1 | KML 2.3 | KMZ 2.3 | |-----------------------------------------------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------| | OpenLayers 7.1.0 | ? | no | no | | Golden Cheetah 3.5 | ? | no | no | | GpxPod | ? | ? | ? | | OsmAnd | ? | no | no | | FitTrackee | yes | n/a | n/a | | SportsTracker | yes, single tracks only | no | no | | ExifTool | yes | no | no | | Wanderer | yes | yes | yes |

Dashboard API (incl. map)

As of v3.3.1, OpenTracks supports custom dashboards for displaying previously recorded and live tracks.

The reference implementation is OSMDashboard, which presents an OpenStreetMap map (showing the current track, incl. updates). The Dashboard API is also used by Gadgetbridge fo

View on GitHub
GitHub Stars1.4k
CategoryDevelopment
Updated8d ago
Forks218

Languages

Java

Security Score

100/100

Audited on Mar 12, 2026

No findings