A pocket cycling computer for Android.
Real-time speed · real-time G-force · average & max speed · altitude · ride distance
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Español · Русский
H RIDE turns your phone into a cycling computer. Mount it on the handlebar, hit start, and it records what actually matters on a ride — how fast you are going, how hard you are accelerating, how much climbing you have done — and shows it in a clean, glanceable, high-contrast interface you can read in one second while riding.
No account. No sign-up. No subscription. Just install the APK and ride.
About this repository —
H-RIDEis the official repository for H RIDE: signed release builds, the source reference recovered from the APK, release notes and documentation. Every build is signed with the same release key, so updates install cleanly.
| Feature | Description | |
|---|---|---|
| ⚡ | Real-time speed | Live speed readout, refreshed continuously from GPS, in km/h or mph. |
| 🌀 | Real-time G-force | Live acceleration load from the device's motion sensors, so you can see how hard you brake, corner and sprint. |
| 📊 | Average speed | Moving average for the whole ride, updated as you go. |
| 🏁 | Max speed | The fastest point of your ride, tracked automatically. |
| ⛰️ | Altitude | Current elevation and climbing, so you always know how much mountain is left. |
| 📏 | Distance & duration | Total ride distance and elapsed time, kept in sync with the recording session. |
| 🗺️ | Topographic map | A live map view with topo/terrain tile layers (OpenTopoMap, Thunderforest, USGS) — built for trails, not just city streets. |
| 🌙 | Background recording | A foreground service keeps the ride recording when the screen is off or you switch apps. |
| 🎨 | Built with Jetpack Compose | A modern, smooth, native Android UI. |
The app's code ships with this repository in decompiled/ — recovered from the
official APK with jadx. The release build was minified but not
obfuscated, so every real class, field and method name survived and the whole architecture is
readable.
| Path | Contents |
|---|---|
data/db |
Room database — ride entity, DAO, repository, track points |
data/service |
Foreground ride-tracking service and the live stats manager |
ui/screens |
Compose screens — home, recording, history, ride detail |
ui/map |
osmdroid map view, tile sources, map mode switch |
ui/navigation |
Navigation models and routing UI |
ui/theme |
Theme and glassmorphism components |
AndroidManifest.xml |
Decoded application manifest |
The reference is generated Java: names and structure are real, but Kotlin syntax, comments and Compose idioms are not recoverable, and it does not build as-is. Read it as the map of the app — see how it was produced.
Grab the latest APK from the Releases page.
| Version | File | Size | Requires | SHA-256 |
|---|---|---|---|---|
| v1.0.0 | H-RIDE-v1.0.0.apk |
17.1 MiB | Android 7.0+ (API 24) | e8a5df497ba00f605bc6b3943e68b8ad10011dbb20457455a68214ec9bb34b76 |
Verify your download before installing:
# macOS / Linux
shasum -a 256 H-RIDE-v1.0.0.apk
# Windows (PowerShell)
Get-FileHash .\H-RIDE-v1.0.0.apk -Algorithm SHA256The printed hash must match the SHA-256 above. If it does not, delete the file and download it again.
- Download
H-RIDE-v1.0.0.apkon your phone. - Open it. Android will ask you to allow installing apps from this source — allow it (Settings → Apps → Special access → Install unknown apps).
- Install, open H RIDE and grant the location permission when asked.
- Mount the phone, press start, ride.
Install over ADB instead
adb install -r H-RIDE-v1.0.0.apkSupported ABIs: arm64-v8a, armeabi-v7a, x86, x86_64 — the APK contains all four, so it
runs on essentially every Android phone and tablet.
H RIDE asks for exactly what a cycling computer needs, and nothing more:
| Permission | Why it is needed |
|---|---|
ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION |
Speed, distance, altitude and the map are all derived from your GPS position. |
FOREGROUND_SERVICE / FOREGROUND_SERVICE_LOCATION |
Keeps the ride recording while the screen is off or you are using another app, with a persistent notification. |
POST_NOTIFICATIONS |
Shows the recording notification required by Android for background location. |
INTERNET / ACCESS_NETWORK_STATE / ACCESS_WIFI_STATE |
Fetches map tiles for the map view. |
| Motion sensors | Real-time G-force is read from the device's accelerometer. |
Privacy in short: there is no account and no H RIDE server. Your ride statistics are computed
on the device. Map tiles are requested from public tile providers (OpenTopoMap, Thunderforest,
USGS, OpenStreetMap), which see your IP address like any online map does. The APK also bundles
standard Google Play services / Firebase libraries; you can audit the full permission list yourself
with aapt2 dump badging H-RIDE-v1.0.0.apk.
- Kotlin + Jetpack Compose for the UI
- osmdroid with topographic tile layers for the map
- Android location APIs and a foreground service for reliable ride recording
- Target SDK 36 · Min SDK 24
Is H RIDE on Google Play?
Not yet — it is distributed here as a signed APK. Releases on GitHub are the official builds.
Which Android versions are supported?
Android 7.0 (API 24) and newer, on both 32-bit and 64-bit devices.
Why does Android warn me about installing the APK?
Every app installed outside the Play Store triggers that warning. The APK is signed with a
consistent release key (certificate SHA-256
d3257079398d904ef92b6508e33b0b46b022f43f74237a4e3d4596ce65d681d5) and the SHA-256 of the file is
published above so you can verify it.
Is the original Kotlin source included?
The original Kotlin project was not preserved, so this repository publishes the
code recovered from the official APK instead. Real class, field and method names are
intact and the entire architecture is readable, but it is generated Java and does not compile as-is.
See decompiled/README.md.
- First public release (
v1.0.0) - Publish the app's code (
decompiled/source reference) - Rewrite a clean, buildable Kotlin project from the reference
- Ride history and per-ride statistics
- Export rides (GPX)
- More units, themes and languages
Ideas and bug reports are welcome in Issues.
- 🐞 Found a bug? Open an issue with your phone model, Android version and what happened.
- 💡 Have an idea? Start a discussion in an issue — feature requests shape the roadmap.
- 🌍 Translations of this README are welcome: copy
README.md, translate it and open a pull request. - ⭐ If H RIDE is useful to you, a star helps other riders find it.
Released under the MIT License © 2026 fastHU.
- OpenStreetMap contributors — the map data
- OpenTopoMap, Thunderforest and USGS — topographic tile layers
- osmdroid — the map engine
- Jetpack Compose — the UI toolkit
