# 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: ```powershell $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: ```text 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.