FleetTrack is an Android tracking client that captures device location and posts structured JSON payloads to configured server URLs. The app provides a map view, background tracking, and configurable server endpoints.
- Live map with selectable tile styles (normal, satellite, terrain).
- Background location tracking with foreground service.
- Configurable server URLs and send intervals.
- Structured JSON payload format for easy ingestion.
- Android Studio (recommended).
- Java 21.
- Android SDK (installed via Android Studio).
- Clone the repository.
- Open the project in Android Studio.
- Ensure
local.propertiescontains your SDK path:sdk.dir=/path/to/Android/Sdk
If you need OpenRoute features during debug builds, add the key in local.properties:
OPENROUTES_API_KEY=your_key_here
Release builds do not embed this key.
To produce installable release APKs, add signing properties to local.properties:
RELEASE_STORE_FILE=fleettrack-release.jks
RELEASE_STORE_PASSWORD=your_store_password
RELEASE_KEY_ALIAS=your_alias
RELEASE_KEY_PASSWORD=your_key_password
Debug APK:
./gradlew assembleDebug
Output: app/build/outputs/apk/debug/app-debug.apk
Release APK (signed when signing config is present):
./gradlew assembleRelease
Output: app/build/outputs/apk/release/app-release.apk
- Launch the app.
- Grant location permission (and notification permission on Android 13+).
- Enter a user ID when prompted.
- Add at least one server URL in settings.
- Start tracking from the main menu or when prompted after setup.
The app sends JSON with the following top-level structure:
metadata: device, user, session, schema versiontimestamp: captured and sent timelocation: coordinates and motion datacontext: device state and networkevents: event list (e.g.,location_update)
- Background location requires explicit user consent.
- If you use
http://server URLs, traffic is sent in cleartext. - Keep keystores and passwords private.