Kotlin + Jetpack Compose client for phones, tablets, and Android TV. Thin UI over Lumen-Media-Server with Media3 ExoPlayer (Direct Play + HLS).
- Phone/tablet Material 3 UI and Android TV leanback-friendly navigation
- Home, library (sort/filters), details, search, settings (including admin library ops)
- ExoPlayer DirectPlay / HLS with quality, audio, and subtitle selection
- Offline episode cache via server download API + Room
- UI locale
ru/en; design tokens aligned with the web client (#0b1f1a/ mint#3ecf9a)
- Android Studio / JDK 17+
- Android SDK (see
compileSdkin Gradle) - A running LumenMedia Server
git clone https://github.com/monowar71/Lumen-Media-Android.git
cd Lumen-Media-Android
export ANDROID_HOME=$HOME/Library/Android/sdk # or your SDK path
./gradlew :app:assembleDebug :app:testDebugUnitTest- Debug APK:
app/build/outputs/apk/debug/app-debug.apk - Release APK (unsigned):
app/build/outputs/apk/release/app-release-unsigned.apk
Default emulator API base URL: http://10.0.2.2:8096.
Debug builds are signed with the shared app/signing/lumenmedia-debug.keystore (CI + local), so sideload updates via adb install -r keep the same signature. Do not commit release/upload keystores, passwords for production keys, or local.properties.
Compose + Hilt + Navigation; MVVM/MVI with StateFlow. Features under app/ (feature/*, core/*). See docs/ARCHITECTURE.md and AGENTS.md.
| Repo | Role |
|---|---|
| Lumen-Media-Server | Backend API + transcoding |
| Lumen-Media-iOS | iOS / iPad client |
| Lumen-Media-Web | Web client |
See CONTRIBUTING.md and the Code of Conduct. Security: SECURITY.md.
GNU General Public License v3.0
Copyright © 2026 Alexander Goncharow and contributors.