- Universal Android Debloater GUI es una herramienta que reescribe por completo el proyecto UAD en Rust, con el objetivo de mejorar la privacidad y el rendimiento de la batería eliminando apps del sistema Android innecesarias o poco conocidas
- Permite desinstalar/deshabilitar paquetes del sistema sin root y restaurarlos/habilitarlos, con soporte para múltiples usuarios, múltiples dispositivos, exportación/importación de selecciones y registro de operaciones
- Los paquetes están documentados en la medida de lo posible para ayudar a determinar si se pueden eliminar, pero quitar paquetes esenciales del sistema necesarios para el arranque puede provocar un bootloop
- En dispositivos sin root no es posible eliminar por completo las apps del sistema, y después de una actualización del OEM algunas apps del sistema “eliminadas” pueden reinstalarse, por lo que hay que volver a ejecutar la herramienta
- La lista de soporte incluye Google/Facebook/Amazon/Microsoft, AOSP, OEM, operadores, Qualcomm/Mediatek, entre otros, y se ofrecen debloat lists separadas por fabricante y operador
Objetivo de Universal Android Debloater GUI
- Universal Android Debloater GUI es un proyecto que reescribe por completo en Rust el proyecto UAD
- Su objetivo es mejorar la privacidad y el rendimiento de la batería eliminando apps del sistema innecesarias y poco conocidas
- Eliminar apps del sistema también puede contribuir a mejorar la seguridad al reducir la superficie de ataque
- El proyecto todavía está en una etapa temprana de desarrollo, y se recomienda revisar issues y contribuir
Seguridad y advertencias principales
- El uso es bajo tu propia responsabilidad, y el proyecto no se hace responsable de lo que pueda ocurrirle al teléfono
- Los paquetes están documentados en la medida de lo posible para entender mejor si se pueden eliminar
- El peor problema es eliminar un paquete esencial del sistema necesario para el arranque, lo que puede causar un bootloop
- Después de unos 5 intentos fallidos de arranque, el teléfono se reinicia automáticamente en modo de recuperación
- En ese caso, hay que realizar un restablecimiento de fábrica
- Primero se debe hacer una copia de seguridad
- Se aclara que este software no puede dejar el dispositivo como brick
- Sin root, las apps del sistema no pueden eliminarse realmente por completo; para más detalles, se debe consultar la FAQ
Funciones compatibles
- Soporte para Uninstall/Disable y Restore/Enable de paquetes del sistema
- Soporte para múltiples usuarios, como apps de perfil de trabajo
- Posibilidad de exportar/importar la selección como
uad_exported_selection.txt - Soporte multidispositivo para conectar varios teléfonos al mismo tiempo
- Todas las operaciones quedan registradas para que el usuario no olvide lo que hizo
Alcance de las listas de debloat
- Universal Debloat Lists incluye las siguientes categorías
- GFAM: Google, Facebook, Amazon, Microsoft
- AOSP
- Fabricantes (OEM)
- Operadores
- Qualcomm, Mediatek y otros
- La debloat list de fabricantes soporta Asus, LG, Google, Fairphone, Huawei, Motorola, Nokia, OnePlus, Oppo, Realme, Samsung, Sony, Tecno, Unihertz, Vivo/iQOO, Xiaomi, ZTE, entre otros
- Archos, Blackberry, Gionee, iQOO, HTC, TCL y Wiko todavía no están verificados en la lista de fabricantes
- La debloat list de operadores incluye los siguientes países y operadores
- France: Orange, SFR, Free, Bouygues
- USA: T-Mobile, Verizon, Sprint, AT&T
- Germany: Telekom
- UK: EE
Procedimiento de uso y restricciones
- Primero se debe leer la FAQ y hacer una copia de seguridad de los datos
- Hay que activar Developer Options en el smartphone y habilitar USB Debugging en el panel de desarrollador
- En la configuración, se debe desvincular la cuenta del OEM
- Si se elimina el paquete de la cuenta del OEM, el teléfono podría dejar de asociar la identidad del usuario y bloquearse en la pantalla de bloqueo
- Es necesario instalar ADB
- En Linux, se instala
android-sdk-platform-toolsoandroid-toolscon el gestor de paquetes de la distribución - En macOS, se instala
android-platform-toolscon Homebrew - En Windows, hay que descargar android platform tools, descomprimirlo y agregarlo al PATH, o ejecutar UAD desde el mismo directorio
- En Windows, se deben instalar los USB drivers del dispositivo y verificar la detección con
adb devices
- En Linux, se instala
- La versión más reciente de UAD GUI para el sistema operativo se puede obtener en releases
- Usar la versión
openglsolo si no se ejecuta la versión con backend Vulkan predeterminado
- Usar la versión
- Los usuarios de teléfonos chinos pueden necesitar la AOSP list para eliminar algunas apps predeterminadas
- En particular, porque fabricantes chinos como Xiaomi y Huawei han usado nombres de paquetes AOSP para sus propias apps modificadas y de código cerrado
- Cuando el OEM distribuye una actualización para el teléfono, algunas apps del sistema “eliminadas” pueden reinstalarse, por lo que hay que volver a ejecutar este software
Contribuir
- El proyecto es un proyecto comunitario, y las formas de contribuir están resumidas en How to contribute
1 comentarios
Opiniones de Hacker News
Hace poco le compré a un familiar un teléfono Samsung de gama media a precio de lista, y la cantidad de apps preinstaladas era increíble
Venía con varias redes sociales y apps de compras ya instaladas, además de un montón de apps de Samsung que duplicaban torpemente el paquete de apps de Google
Todo el proceso de configuración inicial estaba lleno de dark patterns diseñados para extraer la mayor cantidad de datos posible, y parecía difícil que un usuario común lo atravesara sin que se le pasara algo
En la política de privacidad de esa empresa decía que los datos se usaban para inferir intereses, vida social, nivel de inteligencia y educación, y que los vendían para “investigación de mercado”, entre otras cosas
Es difícil que un usuario sospeche que el teclado que viene por defecto en el teléfono hará que un tercero lea sus mensajes de texto y correos
Me enteré recién por casualidad al mantener presionada una tecla, abrir la ventana “about samsung keyboard”, seguir desde ahí la política de privacidad y verificar a qué empresa enviaba las pulsaciones
De inmediato cambié a un teclado open source y, quizá gracias a que recopilan la escritura de todos los usuarios, hay que admitir que el corrector ortográfico y la predicción de texto del teclado Samsung eran realmente buenos
Mis tres teléfonos más recientes fueron Samsung serie S vendidos en la UE, y lo único que podría considerarse “apps de terceros preinstaladas” eran Facebook y MS Office, ambos fáciles de eliminar
Las apps alternativas de Samsung son cuestión de gustos; a mí me parecieron más cómodas de usar que las “originales” de Google
Según mi experiencia breve con teléfonos de otras marcas, Samsung está entre las opciones Android bastante buenas en cuanto a software y experiencia de usuario
En un dispositivo insignia de 1200 dólares, esto da vergüenza
La explicación dice: “si no elegiste usar una Microsoft SwiftKey Account en tu dispositivo Android, todos los datos personales y de idioma generados por Microsoft SwiftKey se almacenan localmente en el dispositivo y no se transmiten”
Lo uso porque permite cambiar con naturalidad entre los idiomas activados, y también permite escribir sin problemas frases como “meet me at Østerport Station”
Pero el problema son las apps preinstaladas, así que cuando compro un teléfono Samsung lo primero que ejecuto es
pm uninstall –k ––user 0La herramienta enlazada hace lo mismo de forma más fácil de usar, pero todavía hay cosas que no se pueden quitar si no instalas una ROM personalizada, como elementos relacionados con la cuenta Samsung o Knox
Este proyecto no recibe mantenimiento desde hace un año
El fork mantenido más reciente se puede ver en https://github.com/Universal-Debloater-Alliance/universal-an...
Los comandos equivalentes para Android que usa este proyecto son, más o menos, estos
dpkg --get-selections:adb shell pm list packages | sortdpkg -r:adb shell pm uninstall -k --user 0Para ocultar íconos de la barra de estado, según la versión se puede ejecutar
adb shell dumpsys activity service SystemUIService, buscar “icon slots: ” para confirmar los nombres y luego configurarlo con algo comoadb shell settings put secure icon_blacklist battery,wifi,clock, ...Este comando sobrescribe la lista de bloqueo existente con la nueva lista
Por ejemplo, la mayoría de los equipos centrales de Android y Pixel en Google saben que se usan por separado los toggles de Wi-Fi y datos, pero en el producto real solo lanzaron un único mosaico de ajustes rápidos que combina ambos
Aun así, se puede recuperar el modo de dos mosaicos con una configuración oculta; no sé por qué en Google pasan tantas veces estas cosas
Desde hace unas semanas vengo pensando en qué pasó con el desarrollo de sistemas operativos de software libre y de código abierto para dispositivos móviles.
Me pregunto por qué sistemas operativos como GrapheneOS y CalyxOS solo se usan en teléfonos fabricados por Alphabet Inc y no en otros dispositivos, y dónde quedaron esos sistemas operativos al estilo del desarrollo de Linux de antes, que reunían muchas variantes de hardware y ofrecían drivers y soporte para casi cualquier equipo.
También me pregunto si la industria del hardware de computadoras móviles está tan asustada y cerrada que el usuario ya no es dueño de su propio dispositivo, sino que termina usando un dispositivo propiedad de otro actor.
O quizá haya otra razón por la que no existan sistemas operativos que soporten varios dispositivos; tal vez se me esté escapando algo.
Incluso GrapheneOS o CalyxOS no pueden acceder a drivers esenciales, así que toman blobs binarios de la imagen original y los distribuyen junto con el sistema.
Por eso estos proyectos están llenos de drivers de kernel de código cerrado, y quedan atados a versiones específicas del kernel para poder usar esos drivers binarios.
El argumento es que, al final, lo máximo que puede hacer una versión de código abierto es elegir otro conjunto de “apps de sistema”, algo que en la práctica se acerca a poco más que cambiar el tema.
Si quieres soportar un dispositivo X en particular, puedes conseguir los blobs binarios mediante una vulnerabilidad de root, y luego distribuirlos para ese dispositivo.
Tampoco puedo aceptar https://grapheneos.org/faq#supported-devices.
Si no recuerdo mal, Alphabet/Google recibió financiamiento para distribuir el sistema operativo Android, en algún momento sacó teléfonos de hardware propios y luego desapareció, dejando que otras empresas siguieran adelante; más tarde reapareció y pareció adelantarse aprovechando los esfuerzos de otros fabricantes.
Pero si el sistema operativo solo está en teléfonos de Google y no en otros dispositivos, no sé si eso sea normal, y se siente como si se hubieran apropiado cobardemente del trabajo ajeno.
La lista de dispositivos de https://calyxos.org/#Devices creció un poco frente a la antigua http://web.archive.org/web/20230605161332/https://calyxos.or..., pero no se compara con cosas como OpenWRT, HyperWRT, DD-WRT o Tomato.
Por eso no confío en GrapheneOS ni en CalyxOS, y me gustaría ver en teléfonos una dinámica similar a la de los routers Wi‑Fi, donde varios firmwares de código abierto daban soporte a muchos dispositivos distintos.
Probé aplicar una de estas listas en un Xiaomi restablecido de fábrica y se rompió apenas reinició.
Se cerraba de inmediato justo después de iniciar sesión y no se podía usar; al final logré arreglarlo, pero aprendí que hay que tener cuidado.
Algo que en un modelo es indispensable puede ser una app preinstalada en otro.
No entiendo por qué esto es necesario.
En los ajustes del teléfono se pueden desactivar apps directamente, así que no queda claro qué aporta esta herramienta por encima de eso.
En el FAQ se menciona que además las “elimina” del perfil de usuario y borra caché y datos, pero no entiendo bien qué significa exactamente.
Existe una herramienta GUI similar para limpiar y personalizar con ADB tabletas Amazon Fire sin root.
https://xdaforums.com/t/windows-linux-tool-fire-toolbox-v33-...
Me pregunto por qué no se puede compilar un Android completamente limpio desde el código fuente e instalarlo directamente en un teléfono.
¿Qué lo impide?
Pero tiene que ser un teléfono cuyo bootloader se pueda desbloquear, y como el fabricante no ofrece el código fuente de muchas partes, no puedes crear exactamente la misma imagen que la del fabricante.
Si el hardware está soportado, sí puedes instalar un sistema operativo mantenido por la comunidad, como LineageOS.
La desventaja es que apps como Google Pay pueden dejar de funcionar, porque tienen que pasar el sistema de certificación SafetyNet de Google.
Existen métodos para evadirlo, pero siempre me parecieron hacks inestables.
El mercado de los teléfonos se parece al mercado de las computadoras de escritorio de los 90.
En computadoras que no son PC, estas cosas no están garantizadas.
No digo que sea fácil, pero el código fuente está todo disponible.
Para eliminar apps preinstaladas en dispositivos Android, ADB es la única opción, directa o indirectamente.
Una vieja tableta Mediacom barata de 10 pulgadas que usaba antes tampoco se podía rootear con ninguna herramienta, pero eliminar servicios y elementos innecesarios se volvió fácil con ADB.
Eso sí, es bastante riesgoso: al final ya no puedo ejecutar los servicios de Google, pero Whatsapp funciona para comunicarme con esas 7 u 8 personas a las que no logré convencer de usar correo electrónico, y también puedo descargar cosas desde F-Droid, así que para mí es suficiente.
https://shizuku.rikka.app/
https://github.com/samolego/Canta
Me pregunto dónde se puede encontrar una lista actualizada que explique, para los paquetes difíciles de entender de los dispositivos Android, qué hace realmente cada uno y cuál sería el impacto de desactivarlo o eliminarlo.
En particular, me interesan las dependencias entre paquetes, como cuando se elimina un paquete que a simple vista parece no estar relacionado y se rompe otra cosa.
[1] - https://github.com/Universal-Debloater-Alliance/universal-an...