CargoRadar Android
This is the first driver-app skeleton. It uses a foreground service, Android's
native LocationManager, and HttpURLConnection so the MVP has no runtime
library dependencies beyond the Android Gradle/Kotlin plugins.
Build
Open apps/android in Android Studio, sync Gradle, then run the app module.
For command-line debug builds:
$env:JAVA_HOME="C:\Program Files\Android\Android Studio\jbr"
$env:ANDROID_HOME="$env:LOCALAPPDATA\Android\Sdk"
.\gradlew.bat :app:assembleDebug
The debug APK is created at:
apps/android/app/build/outputs/apk/debug/app-debug.apk
Current Gradle plugin choices:
- Android Gradle Plugin:
9.2.0 - Kotlin: built into Android Gradle Plugin 9.x
- Gradle wrapper:
9.4.1 - compile/target SDK:
36
MVP behavior
- The app asks for foreground location and notification permissions.
- Press
운행 시작to start a location foreground service. - The service uploads location JSON to
/api/v1/locations. - Failed uploads are queued locally and retried after the next successful send.
- Press
운행 종료to stop location updates.
For emulator testing, keep the default server URL http://10.0.2.2:8080.
For a real phone, use the NAS or PC LAN URL, for example
http://192.168.200.129:18081.
The current public reverse-proxy URL is
https://cargoradar.comtropy.synology.me.
Production builds should use HTTPS and disable cleartext traffic.