"Actualización OTA" (over-the-air) es un término que se usa mucho y se explica poco. Para quien gestiona una flota de Android TV Box, la pregunta que importa no es qué significa, sino: ¿puedo actualizar mil dispositivos sin que nadie note que pasó algo, y sin ir a ninguno de ellos físicamente?
Por qué instalar una app en Android no es trivial a distancia
En un teléfono normal, instalar o actualizar una app requiere que el usuario toque "Instalar" y confirme el diálogo de permisos. Android está diseñado así a propósito: para que ninguna app pueda instalar otra sin que el usuario lo apruebe. Eso es una buena decisión de seguridad para un teléfono personal, y un problema serio cuando tenés que actualizar 500 STB en hoteles y no hay ningún humano frente a la pantalla para tocar "Aceptar".
Hay dos caminos técnicos para resolver esto:
- Vía app de sistema con permisos elevados. Si el agente de gestión está instalado como app de sistema (parte de la imagen del dispositivo, no una app de usuario descargada), puede usar la API
PackageInstallerde Android para instalar paquetes sin mostrar el diálogo de confirmación al usuario. Esto es la forma más limpia y no requiere root. - Vía acceso root. En dispositivos rooteados, el agente puede instalar paquetes directamente a nivel de sistema. Funciona, pero depende de que el dispositivo tenga root habilitado — algo que muchos fabricantes bloquean o que se pierde en la próxima actualización de firmware del fabricante.
Una plataforma seria soporta ambos caminos, y prioriza el primero porque es el que sigue funcionando incluso cuando el dispositivo pierde el root o nunca lo tuvo.
Qué tiene que garantizar una actualización remota bien hecha
- Cero interacción del usuario. Ni un diálogo, ni una notificación que interrumpa lo que está mirando en pantalla.
- Confirmación de resultado. El sistema central tiene que saber, dispositivo por dispositivo, si la actualización se aplicó correctamente o falló — no asumirlo.
- Reintentos sin intervención manual. Si un dispositivo estaba apagado o sin conexión durante el despliegue, tiene que recibir la actualización en su próximo check-in, sin que alguien tenga que volver a disparar el comando manualmente.
- Reversión posible. Si una actualización introduce un bug crítico, tiene que existir una forma de volver a la versión anterior en toda la flota, no solo en el dispositivo donde lo notaste primero.
Muchos equipos prueban una actualización OTA en un solo dispositivo de escritorio o desarrollo y asumen que "funciona en general". La variable que más rompe despliegues masivos no es el código de la actualización, sino la heterogeneidad de firmware entre distintos lotes de hardware — por eso conviene desplegar en oleadas pequeñas antes de ir a toda la flota.
Cómo lo resuelve AdminSTB
El pipeline de actualizaciones de AdminSTB usa la app de sistema instalada en el dispositivo para aplicar el paquete vía PackageInstaller, sin interacción del usuario. Si el dispositivo no tiene el agente como app de sistema, hace fallback a instalación por root cuando está disponible. En ambos casos, el resultado de cada actualización se reporta en el siguiente ciclo de telemetría, así que el dashboard siempre refleja qué versión corre cada dispositivo — no una suposición.
Esto es lo mismo que permite actualizar clientes de IPTV, apps de cartelería digital o el agente mismo en toda la flota desde un solo comando en el dashboard, sin coordinar visitas ni depender de que el usuario final haga nada.
Vas a poder verlo en acción
Instalá el agente en un dispositivo con el plan Free y desplegá una actualización para comprobar el flujo completo.