Aplicación IPTV para Android TV, cajas Android, tablets y móviles. Carga listas M3U (URL o archivo local), organiza miles de canales, reproduce con VLC o ExoPlayer y se adapta al tamaño de pantalla.
Versión actual: 1.1 (versionCode 2).
El APK se publica en Releases de este repositorio (no va dentro del código fuente; *.apk está en .gitignore).
- Abre la última release.
- Descarga
miptvga.apk. - Instálalo en el televisor, caja Android o dispositivo (permite orígenes desconocidos si hace falta).
También puedes compilarlo tú mismo (ver Compilación).
- Interfaz adaptable a pantallas compactas, medianas y TV (panel apilado o lateral).
- Mejor soporte Xtream Codes: keep-alive configurable y reconexión más robusta.
- Reconexión automática en streams HTTP(S) y listas remotas.
- Panel lateral simplificado (acciones arriba, grupos y canales más claros).
- Explorador interno de archivos para M3U/M3U8.
- Pantallas de búsqueda, guía EPG, info de canal, ajustes y about.
- Icono y recursos visuales actualizados.
- Salida de build unificada como
miptvga.apk.
- Carga listas M3U / M3U8 por URL o archivo local.
- Navegación por grupos, búsqueda y favoritos (canal y grupo).
- Guía EPG / XMLTV opcional.
- Reproducción con LibVLC o Media3 ExoPlayer.
- Modo de compatibilidad de vídeo.
- Fullscreen con controles OSD (play/pausa, seek / timeshift en live cuando aplica).
- Recuerda la última lista cargada.
- Pensada para Leanback (Android TV) y mando a distancia, usable también en móvil/tablet.
| Pieza | Detalle |
|---|---|
| Lenguaje | Kotlin |
| UI | Jetpack Compose + Material 3 |
| SDK | compile/target 35, minSdk 24 |
| Reproductores | VLC (libvlc-all) · Media3 ExoPlayer |
| Red | OkHttp · monitor de red |
| Imágenes | Coil |
- JDK 17 o superior
- Android SDK local
- Dispositivo/emulador Android TV o Android compatible
- Gradle Wrapper del proyecto
miptvga/
├── app/
│ ├── build.gradle.kts
│ └── src/main/
│ ├── java/com/toigo/miptvga/ # pantallas, player, parsers, Xtream…
│ │ ├── AdaptiveLayout.kt # métricas por tamaño de pantalla
│ │ ├── AppScreens.kt # UI principal
│ │ └── ui/ # pantallas auxiliares / componentes
│ └── res/ # iconos, logo, banner TV, temas
├── gradle/
├── build.gradle.kts
├── settings.gradle.kts
├── keystore.properties.example
├── README.md
└── .gitignore
local.properties es local y no se sube al repo:
sdk.dir=/ruta/a/tu/Android/SdkPara un release firmado usa keystore.properties y un keystore en keystore/ (ambos ignorados por git). Parte de keystore.properties.example.
./gradlew assembleDebugSalida:
app/build/outputs/apk/debug/miptvga.apk
(assembleDebug copia/renombra automáticamente a miptvga.apk.)
./gradlew testDebugUnitTest./gradlew assembleReleaseSalida:
app/build/outputs/apk/release/miptvga.apk
./gradlew bundleReleaseRecomendado: GitHub Releases (no commits del binario).
- Compila el APK (
assembleDebugoassembleRelease). - En GitHub → Releases → Draft a new release.
- Etiqueta p. ej.
v1.1, título y notas (puedes reutilizar Qué hay de nuevo). - Adjunta
miptvga.apky publica.
Los enlaces de descarga del README apuntan a /releases y /releases/latest.
- Abre la app en el televisor, caja o móvil.
- Carga una lista M3U por URL o archivo (explorador interno o picker).
- Elige grupo y canal; usa Buscar, Guía o Favoritos si lo necesitas.
- En Ajustes: backend (VLC/ExoPlayer), EPG, keep-alive Xtream, compatibilidad de vídeo.
- Fullscreen para ver a pantalla completa.
- Logo:
app/src/main/res/drawable/miptvga.png - Banner TV:
app/src/main/res/drawable/tv_banner.* - Launcher:
mipmap/ adaptive icons
No subas:
local.propertieskeystore.properties/*.jks/*.keystore/keystore/- carpetas
build/o.gradle/
Los APK van en Releases, no en el árbol del código (están ignorados con *.apk).
- La app declara launcher normal y LEANBACK_LAUNCHER para Android TV.
- Sin firma release configurada,
assembleReleasepuede generar un APK no firmado o firmado según tu entorno. - Uso destinado a listas IPTV legales a las que tengas acceso legítimo.
