SD Maid 2/SE
Español

Es posible que esta traducción esté desactualizada. Leer la versión en inglés

Configurar SD Maid SE

Información sobre los distintos pasos de configuración de SD Maid SE.

SD Maid se adapta al acceso que tenga disponible. Aunque todos los permisos son opcionales, si no concedes ninguno, la mayoría de las funciones no funcionarán. SD Maid funciona mejor cuando se completan todos los elementos de la configuración.

SD Maid intentará completar automáticamente algunos pasos de la configuración si dispone de root o de acceso ADB.

Algunos permisos se solapan o incluyen a otros; p. ej., puedes dar a SD Maid tanto acceso root como acceso ADB. SD Maid siempre intentará usar el mejor método de acceso posible para cada acción y, si falla, lo reintentará con el segundo mejor método, luego con el tercero, etc. Conceder a SD Maid permisos que se solapan mejora la fiabilidad.

Consejo: algunos de los pasos de configuración siguientes requieren ejecutar comandos ADB. Si no tienes ADB configurado en tu computadora, puedes usar el Web ADB Helper para ejecutarlos directamente desde el navegador.

Gestionar el almacenamiento

El permiso “Gestionar el almacenamiento” es un permiso de acceso al almacenamiento de alcance amplio.

Estadísticas de uso

El permiso de estadísticas de uso da a SD Maid acceso a los tamaños de datos y de caché, y a si una aplicación se está ejecutando o cuándo se usó por última vez.

Estructura de acceso al almacenamiento

SD Maid usa el Storage Access Framework (SAF) de Android para obtener acceso a áreas de almacenamiento adicionales. SD Maid te pedirá que concedas acceso a rutas concretas que no son accesibles solo con el permiso “Gestionar el almacenamiento” (cosas de Android™️).

Repite este proceso hasta que todas las rutas estén en verde.

SAF: solución de problemas

Para cuando las cosas no salen como estaba previsto.

SAF: acceso a Android/data|obb

En Android 11 y Android 12 no es posible conceder acceso a Android/data|obb con las versiones más recientes de la aplicación del sistema Files (“Archivos”; com.google.android.documentsui). Si la aplicación Files instalada está orientada a Android 14 (nivel de API 34) o posterior, SD Maid ocultará la solicitud de acceso SAF para estas rutas (como en Android 13+).

Google Play actualiza la aplicación Files a través del servicio Google Play system update (“Actualización del sistema de Google Play”). La aplicación “Files” original (compilada para el nivel de API 31, p. ej., aml_doc_310851020 (310851020)) que venía con Android 12 permite a SD Maid abrir la ventana de selección de rutas SAF en Android/Data, mientras que la aplicación “Files” más reciente (compilada para el nivel de API 34 o posterior, p. ej., 14-10492947 (340916000)) lo impide.

Solución alternativa:

Puedes desinstalar la actualización de Files y después configurar SD Maid. Volver a actualizar la aplicación Files no anulará los permisos ya concedidos.

o bien

También puedes ejecutar este comando con el Web ADB Helper.

adb uninstall com.google.android.documentsui

SAF: OPEN_DOCUMENT_TREE ActivityNotFoundException

Para conceder acceso a rutas mediante el Storage Access Framework hace falta una aplicación que permita al usuario confirmar las rutas a las que se concederá acceso. Esa aplicación es “Documentos” (“Documents”). Es una aplicación del sistema integrada en todos los dispositivos Android desde Android 5.0 (com.android.documentsui o com.google.android.documentsui). Si te aparece este error, alguien ha eliminado o desactivado esta aplicación. En la mayoría de los casos, alguien ejecutó una herramienta de “debloat” (eliminación de bloatware) demasiado agresiva que la desactivó. Puedes volver a activarla mediante ADB:

También puedes ejecutar estos comandos con el Web ADB Helper.

adb shell pm enable com.android.documentsui
or
adb shell pm enable com.google.android.documentsui

SAF: ventana vacía

Si la ventana para conceder acceso a rutas está vacía, es posible que el paquete del proveedor de almacenamiento externo (com.android.externalstorage) esté desactivado (probablemente por una herramienta de “debloat” demasiado agresiva). Puedes volver a activarlo mediante ADB:

También puedes ejecutar este comando con el Web ADB Helper.

adb shell pm enable com.android.externalstorage

Ejecutar de nuevo Google Play system update (“Actualización del sistema de Google Play”) restaurará la actualización. También puedes descargar manualmente una versión actualizada desde APKMirror.com.

Notificaciones

Sin este permiso, SD Maid no podrá mostrar notificaciones. En algunas ROM esto puede afectar negativamente a la fiabilidad al ejecutarse en segundo plano.

Lista de aplicaciones

SD Maid necesita el permiso QUERY_ALL_PACKAGES para comprobar qué aplicaciones están instaladas en tu dispositivo (es decir, “visibilidad del inventario de aplicaciones instaladas”). Consulta también “Permiso de estadísticas de uso”

El permiso QUERY_ALL_PACKAGES es obligatorio para:

Este permiso existe desde Android 11 y normalmente se concede por defecto. Desde Android 14 existen algunos dispositivos (p. ej., #1015, #1354) en los que el permiso no se concede por defecto o se puede revocar.

Lista de aplicaciones no válida

En algunos dispositivos el permiso “Lista de aplicaciones” (QUERY_ALL_PACKAGES / GET_INSTALLED_APPS) está concedido, pero el sistema sigue devolviendo una lista incompleta de aplicaciones instaladas; por ejemplo, una lista a la que le faltan paquetes básicos del sistema como android. Cuando SD Maid lo detecta, en lugar de continuar muestra un aviso “Invalid app list” (“Lista de aplicaciones no válida”) y una nota “Posible limitación del dispositivo” en la tarjeta de configuración.

SD Maid se detiene aquí a propósito: si no puede ver la lista completa de aplicaciones instaladas, no puede saber con seguridad qué archivos pertenecen a una aplicación que sigue instalada. Continuar de todos modos podría suponer eliminar datos de una aplicación que SD Maid simplemente no pudo ver, así que las funciones relacionadas con aplicaciones permanecen desactivadas hasta que haya una lista completa disponible.

Qué puedes probar:

Si el permiso “Lista de aplicaciones” ya está permitido y la lista sigue apareciendo como no válida, normalmente se trata de una limitación del dispositivo y no de algo que puedas arreglar: algunos sistemas (por ejemplo, HarmonyOS o versiones de Android muy modificadas) nunca entregan una lista completa de aplicaciones a las aplicaciones de terceros. Consulta #2441 como ejemplo.

En ese caso, las herramientas relacionadas con aplicaciones (Buscador de restos, Limpiador de aplicaciones, Control de las aplicaciones) permanecen desactivadas para proteger tus datos, pero el Analizador del Almacenamiento sigue funcionando: muestra cuánto espacio se está usando en tu almacenamiento, solo que con menos detalle; los tamaños de las carpetas se muestran en modo de solo lectura y no se pueden atribuir a aplicaciones concretas.

Servicio de accesibilidad

El servicio de accesibilidad permite a SD Maid interactuar con tu dispositivo como lo haría una persona, es decir, viendo la pantalla y pulsando botones. SD Maid puede usarlo para automatizar acciones tediosas, como pulsar “Borrar caché” en cientos de aplicaciones. El servicio de accesibilidad es un servicio que la propia aplicación no puede iniciar; lo tiene que iniciar el sistema, porque este tipo de servicio concede a una aplicación acceso adicional a tu dispositivo.

ACS: solución de problemas

El servicio puede dejar de funcionar y requerir que lo vuelvas a activar en diversas circunstancias:

ACS: el servicio está desactivado

Algunas ROM (p. ej., MIUI) son conocidas por detener de forma agresiva todo lo que el fabricante del dispositivo no tiene en su lista blanca. Si se te pide constantemente que vuelvas a activar el servicio de accesibilidad, es posible que el sistema lo desactive cada vez que SD Maid no está en uso activo.

Prueba a desactivar las optimizaciones de batería; en las ROM MIUI hay además un ajuste llamado “Autostart” (inicio automático): actívalo para SD Maid. En dispositivos Xiaomi/POCO/Redmi:

También puedes plantearte conceder un permiso adicional que permita a SD Maid reiniciar el servicio automáticamente.

ACS: bloqueado por Phone Manager (OnePlus, OPPO, Realme)

En OxygenOS y ColorOS, la aplicación preinstalada “Phone Manager” (administrador del teléfono) puede desactivar el servicio de accesibilidad por su cuenta, normalmente en el segundo siguiente a terminar una limpieza. El interruptor de accesibilidad de Android queda realmente desactivado después, así que parece que SD Maid dejó de funcionar a mitad de la ejecución.

Desactiva la función en Phone Manager>Utilities>Block suspicious app activities (“Administrador del teléfono > Utilidades > Bloquear actividades sospechosas de aplicaciones”).

Esa misma pantalla guarda una lista de lo que ha bloqueado. Las entradas etiquetadas como “Abnormal device control” (control anómalo del dispositivo) con marcas de tiempo que coinciden con las limpiezas que ejecutaste confirman que esta es la causa. El interruptor “Blocking alerts” (alertas de bloqueo) que hay al lado solo controla si recibes una notificación, así que con las alertas desactivadas esto ocurre sin avisar.

ACS: activar mediante ADB

Si tu dispositivo no tiene una forma de activar los servicios de accesibilidad desde la pantalla (p. ej., un dispositivo de TV), puedes activar el servicio mediante ADB ejecutando:

También puedes ejecutar este comando con el Web ADB Helper.

adb shell settings put secure enabled_accessibility_services eu.darken.sdmse/.automation.core.AutomationService

ACS: reinicio automático del servicio

Nota: es una técnica avanzada y está pensada para usuarios avanzados.

Puedes conceder un permiso adicional que permite a SD Maid reiniciar el servicio por sí mismo. El permiso se llama WRITE_SECURE_SETTINGS y solo se puede conceder mediante ADB. Si lo tienes configurado, ejecuta este comando para conceder el permiso:

También puedes ejecutar este comando con el Web ADB Helper.

adb shell pm grant eu.darken.sdmse android.permission.WRITE_SECURE_SETTINGS

Con este permiso concedido, SD Maid puede usar el comando descrito aquí para activar el servicio cuando sea necesario. SD Maid solo lo usará si has activado el servicio de accesibilidad manualmente al menos una vez. Si vuelves a la configuración y le indicas a SD Maid que no use el servicio de accesibilidad, esta técnica de reinicio automático no se usará hasta que vuelvas a activar manualmente el servicio de accesibilidad.

Para volver a quitarle este permiso a SD Maid, usa este comando:

También puedes ejecutar este comando con el Web ADB Helper.

adb shell pm revoke eu.darken.sdmse android.permission.WRITE_SECURE_SETTINGS

Si obtienes Operation not allowed: java.lang.SecurityException, consulta aquí. Algunos dispositivos restringen los permisos de ADB. Comprueba si en las opciones para desarrolladores hay un ajuste adicional (p. ej., Disable Permission Monitoring, “Desactivar la supervisión de permisos”) que haya que activar; después de usar el comando, puedes volver a desactivarlo.

ACS: Protección avanzada

En Android 17 y posteriores, el modo Protección avanzada de Google impide que las aplicaciones que no son herramientas de accesibilidad específicas (lectores de pantalla, accesibilidad con interruptores, etc.) usen el servicio de accesibilidad. SD Maid es una herramienta de mantenimiento y limpieza, así que mientras la Protección avanzada esté activada, su servicio de accesibilidad no se puede activar: Android rechaza el servicio a nivel de sistema, aunque intentes concederlo mediante root o acceso ADB.

SD Maid no puede eximirse de esto: solo pueden optar las aplicaciones que Google clasifica como herramientas de accesibilidad, y los limpiadores están excluidos expresamente.

Tienes dos opciones:

ACS: restricciones de AppOps

Android 13+ puede aplicar restricciones adicionales a las aplicaciones instaladas manualmente (sideloading). Así que, si SD Maid no se ha instalado desde una fuente conocida (por Google) como Google Play u otras tiendas de aplicaciones, es posible que no puedas conceder directamente algunos permisos a SD Maid, p. ej., iniciar un servicio de accesibilidad.

OxygenOS 15 - OnePlus

OnePlus olvidó incluir (o simplemente no incluyó) la acción Allow restricted settings (“Permitir ajustes restringidos”) en los ajustes de las aplicaciones de OxygenOS 15. Si no instalas desde Google Play, el instalador tiene que establecer el indicador INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS. Si tienes Shizuku configurado, puedes usar la aplicación “Install with Options”.

Otras ROM

Para levantar estas restricciones, abre en el sistema la pantalla de ajustes de la aplicación SD Maid. Abre el menú de la esquina superior derecha y selecciona Permitir ajustes restringidos; después puedes volver a la lista de servicios de accesibilidad y activar el servicio de SD Maid.

Nota: Para mejorar la usabilidad (es sarcasmo), Google decidió que este ajuste solo sea visible si:

😮‍💨

Puedes encontrar más información de contexto aquí.

Acceso root

Con acceso root, SD Maid tiene acceso completo a tu dispositivo y puede hacer el escaneo más exhaustivo posible. Normalmente esto significa que has desbloqueado el bootloader y has instalado Magisk.

Si SD Maid cree que tu dispositivo puede estar rooteado, pedirá primero acceso root. Si se concede, SD Maid usará el acceso root para conceder tantos de los demás permisos como sea posible. El acceso root es el nivel de acceso más alto que puedes dar a una aplicación; los demás permisos solo son necesarios entonces por comodidad y rendimiento, y por eso no requieren un consentimiento adicional durante la configuración si SD Maid ya tiene root.

Acceso ADB

El acceso ADB permite a SD Maid usar la interfaz de depuración de Android (ADB) para operaciones con privilegios elevados. Necesita una aplicación aparte que ejecute un servicio ADB en tu dispositivo y dé acceso a él a otras aplicaciones: Porter o Shizuku. Es una modificación que puedes hacer en tu teléfono y que otras aplicaciones pueden aprovechar.

Es parecido a root, pero no es lo mismo. Los permisos son algo menos potentes, pero la modificación no es permanente y no requiere desbloquear el bootloader.

Porter

Porter es mi fork mantenido de Shizuku, con soporte opcional para root. Su sitio web explica cómo instalarlo e iniciarlo. En Android 11 y posteriores, la depuración inalámbrica permite iniciarlo sin computadora.

Si vas a configurar el acceso ADB por primera vez, usa Porter. Las versiones de SD Maid de GitHub y F-Droid te remiten a Porter cuando no hay instalada ninguna aplicación de acceso ADB. La versión de Google Play te remite a Shizuku en Google Play, pero funciona igual con Porter.

Si están instalados tanto Porter como Shizuku, SD Maid usa Porter. La tarjeta de configuración indica entonces Porter está instalado, por lo que SD Maid espera a Porter en lugar de Shizuku. Inicia Porter para continuar, o desinstálalo si quieres que SD Maid use Shizuku.

Usar Shizuku

Hay dos versiones de Shizuku:

No se pueden instalar a la vez. Si el original ya te funciona, no hace falta cambiar.

Conceder acceso

Después de configurar Porter o Shizuku:

Configurar el acceso ADB cuando ya has concedido acceso root a SD Maid no activa funciones adicionales, pero mejora la fiabilidad. Si las acciones fallan con el permiso root, SD Maid lo reintentará con el acceso ADB.

Acceso ADB: solución de problemas

Puedes comprobar el estado del acceso ADB de SD Maid en Ajustes > Configuración, en la tarjeta de configuración Acceso ADB. Debería indicar SD Maid ahora puede usar acceso ADB a través de Porter. (o a través de Shizuku).

Shizuku nunca se conecta

La tarjeta indica Error de acceso ADB y Shizuku está en ejecución, pero nunca conectó SD Maid con su servicio auxiliar. Las versiones anteriores mostraban Waiting for link with Shizuku (“Esperando el enlace con Shizuku”) o Shizuku link failed (“Falló el enlace con Shizuku”).

Abre la aplicación Shizuku. Si indica que se está ejecutando y SD Maid está en su lista de aplicaciones autorizadas, Shizuku está bien configurado y volver a configurarlo no servirá de nada. Lo que falla es el servicio auxiliar de Shizuku: se cierra al iniciarse, antes de poder responder, y SD Maid se rinde tras unos 15 segundos. Reintentar ejecuta la misma comprobación y falla de la misma manera.

Es un error de Shizuku (RikkaApps/Shizuku#1198), no de SD Maid, y afecta a cualquier aplicación que use el servicio auxiliar de Shizuku. Afecta a los dispositivos MediaTek y a los dispositivos con HyperOS o MIUI.

Según los informes, el fork de thedjchi lo soluciona. Para cambiar: