Tengo un Mi Box S (el MIBOX4, Android 9, 2 GB de RAM) que ya tiene sus años y se sentía cada vez más lento. Además el launcher de Android TV está lleno de recomendaciones, banners y cosas que nunca pedí.

Quería tres cosas:

  • Sacar el bloatware y la telemetría
  • Un launcher sin publicidad
  • Que ande más rápido

Lo hice todo desde Claude Code con Claude Opus 5.5, por ADB y por wifi, sin tocar un cable.

Prompt inicial:

creá una nueva carpeta para debloat, buscá el Mi Box S, ya activé el debug USB y estoy en wifi

No le pasé la IP ni nada más.

Encontrarlo en la red

Lo primero que hizo fue fijarse que no tenía adb instalado. Bajó las platform-tools de Google adentro de la carpeta y en paralelo escaneó toda mi red buscando el puerto 5555 (el que usa ADB por wifi). Lo encontró en una IP, se conectó y me avisó que mirara la tele para aceptar el diálogo de “¿Permitir depuración USB?”.

Después sacó la lista de todas las apps del sistema y me armó un script con las que quería sacar, pero no ejecutó nada. Me mostró la lista y me preguntó.

Primero el backup

antes que nada hacé un backup y también ponele un launcher sin publicidad y bien minimalista

Hizo backup de:

  • Los APKs de todas mis apps instaladas (~350 MB)
  • Toda la configuración del sistema (settings global, secure y system)
  • La lista de paquetes, cuáles estaban deshabilitados y cuál era el launcher por defecto

Me aclaró que en Android 9 sin root no se puede hacer un backup de los datos de cada app (las sesiones iniciadas). Si reinstalo algo, me tengo que volver a loguear.

Para el launcher eligió FLauncher, que es open source y bien minimalista. Lo bajó del repo oficial en GitLab y descartó los forks de GitHub porque tenían 0 estrellas. Al instalarlo se encontró con que el launcher de Google tiene prioridad de sistema y siempre gana, así que lo deshabilitó (no lo borró) y sacó una captura de la tele para confirmar que funcionaba.

FLauncher

Mejor un launcher propio

FLauncher estaba bien, pero yo quería algo así:

quiero un diseño estilo Apple TV [imagen]

Le pasé una imagen de referencia: un fondo a pantalla completa, el reloj grande arriba a la izquierda y un dock de apps abajo.

Vio que tenía Android Studio instalado y en vez de buscar otro launcher escribió uno desde cero. Usó Java puro, sin librerías y sin Gradle, y se hizo un script para compilarlo e instalarlo en la tele. El APK final pesa 24 KB.

Launcher Inicio

Tiene:

  • Fondo a pantalla completa que rota cada 2 minutos con fade, usando las imágenes del día de Bing
  • Saludo, hora y fecha en español
  • Dock translúcido con los banners de las apps y el nombre de la app enfocada arriba
  • Botones de “Apps” y “Ajustes”
  • Mantener OK sobre una app la agrega o la saca del dock, o la mueve de lugar

Todas las apps

Después le pedí el clima:

agregá el clima también: clima actual, mínima y máxima

Usó Open-Meteo, que es gratis y no pide API key. Saca mi ubicación aproximada por IP una sola vez y se actualiza cada 30 minutos.

El debloat

Antes de ejecutar le pregunté qué iba a sacar exactamente. Me lo explicó app por app:

  • Tracking: com.miui.tv.analytics (analytics de Xiaomi), Alphonso (reconoce lo que estás mirando en la tele para mostrarte publicidad 🙃) y los reportes de errores y feedback de Google
  • Xiaomi: el canal “Mi” de recomendaciones y el contenido web promocional
  • Google: Play Juegos, Play Películas, YouTube Music y TalkBack
  • Cosas sin sentido en una tele: cámara y servicio de impresión

También me dijo qué no iba a tocar y por qué: Play Store, los servicios de Google, el teclado, el asistente, el Chromecast y el control remoto desde el celular.

Después lo ejecutó. Todo se hace con pm uninstall --user 0, que no borra el APK del sistema, así que se puede revertir con un script que se hizo para eso o con un reset de fábrica. Después abrió YouTube, volvió al inicio y revisó el log de crashes para confirmar que no se rompió nada.

¿Y la memoria?

Le pregunté cómo quedó el consumo de memoria antes y después. Me dijo que no tenía el “antes” porque no lo había medido. También me explicó que medir ahora no tenía sentido: la tele llevaba 15 días sin reiniciarse y tenía YouTube, Netflix, Disney+ y otras apps pesadas en memoria, que pesan mucho más que cualquier cambio que hubiera hecho. Me dio una estimación (entre 80 y 150 MB menos), dejando claro que era eso, y me ofreció hacer una prueba A/B con dos reinicios para tener números reales.

Prefiero esa respuesta a un número inventado.

Que ande más rápido

no, ¿qué más puedo hacer para que ande más rápido?

Revisó el almacenamiento y encontró el problema real: 89% lleno, 567 MB libres. Con la memoria interna tan llena estos equipos se arrastran. Propuso:

  • Limpiar la caché de todas las apps
  • Bajar las animaciones a 0.5
  • Deshabilitar 4 servicios que no aportan nada con el launcher nuevo: recomendaciones de Google, PatchWall, el actualizador de Xiaomi (el Mi Box S está en Android 9, no va a recibir más updates) y Mi Cast
  • Reiniciar una vez por semana

sí, aplicá todo y reiniciá

La tele volvió a responder tan rápido que le pareció sospechoso, así que chequeó el uptime para confirmar que el reinicio había pasado de verdad (llevaba 1 minuto prendida).

Antes vs después

  • Almacenamiento: 89% → 65%, con 1.7 GB libres (la caché sola liberó 1.1 GB)
  • Launcher: Android TV con recomendaciones y publicidad → launcher propio de 24 KB
  • Bloatware y telemetría: 16 paquetes menos
  • Animaciones: al doble de velocidad
  • Rollback: un script que vuelve todo como estaba

Cuánto costó

Saqué los números del log de la sesión de Claude Code. Usó unos 4,7 millones de tokens, pero casi todo (4,5 millones) es contexto cacheado que se relee en cada paso. Lo que escribió de verdad fueron unos 55 mil tokens.

A precio de API de Claude Opus 5.5 son unos US$ 2,80:

  • Salida: 55 mil tokens → US$ 1,10
  • Escritura de caché: 102 mil tokens → US$ 0,82
  • Lectura de caché: 4,5 millones de tokens → US$ 0,90

Fueron 11 mensajes, casi todos de una línea. No escribí ni una línea de código, y antes de borrar algo me mostraba qué iba a sacar.