A local-first Android app for tracking driving practice sessions, course progress, and payments.
Made by @realsanjeev
- Android Studio Ladybug (2024.2) or later
- JDK 11+
- Android device with USB debugging enabled, or an emulator running API 24+
Connect your device via USB and run:
./gradlew installDebugOr install directly from Android Studio: Run > Run 'app'.
Generate a signed APK:
# Generate debug signing key (first time only)
keytool -genkey -v -keystore ~/.android/debug.keystore -alias drivetrack -keyalg RSA -keysize 2048 -validity 10000 -storepass android -keypass android -dname "CN=Debug,O=Debug,C=US"
# Build release APK
./gradlew assembleReleaseThe APK is output to app/build/outputs/apk/release/app-release-unsigned.apk.
adb install app/build/outputs/apk/release/app-release-unsigned.apk# Sign the APK
apksigner sign --ks ~/.android/debug.keystore --ks-pass pass:android --key-pass pass:android --out app/build/outputs/apk/release/app-release-signed.apk app/build/outputs/apk/release/app-release-unsigned.apk
# Install
adb install app/build/outputs/apk/release/app-release-signed.apk# List connected devices
adb devices
# Install debug APK
adb install app/build/outputs/apk/debug/app-debug.apk
# Install release APK (signed)
adb install app/build/outputs/apk/release/app-release-signed.apk
# Reinstall (replace existing)
adb install -r app/build/outputs/apk/debug/app-debug.apk| Variant | Command | Output |
|---|---|---|
| Debug | ./gradlew assembleDebug |
app-debug.apk |
| Release | ./gradlew assembleRelease |
app-release-unsigned.apk |
| Install Debug | ./gradlew installDebug |
Installs directly |
| Clean | ./gradlew clean |
Removes build dirs |
adb uninstall com.realsanjeev.drivetrack