Error de instalación en Android: "Couldn't install on USB Storage" y Error -18

Los usuarios de Android suelen ver el teléfono funcionar sin problemas hasta que, de repente, una actualización falla y aparece un mensaje críptico. Aquí hemos recopilado todas las soluciones fiables para el error de instalación que dice “Couldn’t install on USB Storage” o “Error -18 Unknown” y explicamos por qué ocurre y cuándo aplicar cada método.
Importante: antes de probar cualquier solución, comprueba si la tarjeta SD está llena. Un espacio insuficiente puede producir mensajes similares.
¿Qué causa este error?
Breve definición: smdl2tmp1.asec es un archivo temporal que el sistema de paquetes de Android crea al descargar o mover una aplicación a la tarjeta SD. Si la descarga/actualización se interrumpe (pérdida de red, extracción de la SD, fallo del proceso), el archivo temporal puede quedarse en la carpeta segura de la SD y bloquear futuras instalaciones.
Causas comunes:
- Interrupción de la conexión a Internet durante la descarga o actualización.
- Extracción de la tarjeta SD sin desmontarla.
- Permisos insuficientes o procesos del instalador bloqueados.
- Espacio insuficiente en la tarjeta SD.
Solución no técnica y rápida
Si quieres la manera más simple y rápida (sin ordenador ni comandos):
- Ve a Ajustes > Aplicaciones.
- Busca la aplicación que falla y pulsa “Mover al almacenamiento interno” o “Mover al teléfono”.
- Actualiza la aplicación desde Google Play.
- Si quieres, vuelve a moverla a la tarjeta SD.
Este hack funciona porque evita que el instalador use la ruta de la SD donde está el archivo temporal.
Solución para teléfonos rooteados
Requisito: acceso root. Usa un administrador de archivos con soporte root (Astro, Root Explorer, Solid Explorer con permisos root).
- Abre el explorador con permisos root.
- Navega a /sdcard/.android_secure o /mnt/secure/asec/
- Elimina el archivo smdl2tmp1.asec.
- Reinicia el teléfono y vuelve a intentar la instalación.
Nota: en dispositivos no rooteados estas carpetas y archivos no serán visibles.
Solución con Windows (con lector o modo USB)
- Conecta el teléfono al PC y monta la tarjeta SD como unidad (modo Disco USB) o, mejor, extrae la tarjeta SD y conéctala a un lector de tarjetas en el ordenador.
- Asegúrate de que el explorador de archivos muestre archivos ocultos (en el Explorador de Windows: Vista > Elementos ocultos, o pulsa CTRL+H en algunas versiones/con configuraciones).
- Accede a la unidad correspondiente a la SD.
- Busca y borra el archivo smdl2tmp1.asec dentro de .android_secure o mnt/secure/asec.
- Desmonta la SD de forma segura y vuelve a insertarla en el teléfono.
Solución con macOS (Finder)
Los pasos son parecidos a Windows, pero macOS oculta los archivos por defecto. Para mostrar archivos ocultos desde Terminal:
defaults write com.apple.Finder AppleShowAllFiles YESLuego reinicia Finder: pulsa CMD-OPTION-ESC para abrir “Forzar salida de aplicaciones”, selecciona Finder y haz clic en Reiniciar.
Después, conecta la tarjeta SD (o monta el teléfono como dispositivo de almacenamiento masivo), localiza .android_secure o mnt/secure/asec y borra smdl2tmp1.asec. Para ocultar de nuevo los archivos ocultos:
defaults write com.apple.Finder AppleShowAllFiles NOReinicia Finder otra vez.
Solución por Terminal (Unix / macOS)
Si prefieres la línea de comandos y conoces el nombre del volumen de la SD, usa rm para borrar el archivo. Si no cambiaste el nombre de la SD, suele llamarse “No Name” o similar.
Ejemplo de comandos (ajusta NO\ NAME si tu volumen tiene otro nombre):
rm /Volumes/NO\ NAME/.android_secure/smdl2tmp1.asec
rm /Volumes/NO\ NAME/mnt/secure/asec/smdl2tmp1.asecAsegúrate de escapar espacios con \ y verifica la ruta antes de borrar.
SOP: Playbook rápido paso a paso
- Confirmar mensaje exacto de error y comprobar espacio disponible en la SD.
- Intentar la solución no técnica (mover app a almacenamiento interno y actualizar).
- Si falla y tienes PC/Mac: desmontar SD, conectar con lector y borrar smdl2tmp1.asec.
- Si tienes root: eliminar el archivo desde /sdcard/.android_secure o /mnt/secure/asec y reiniciar.
- Si nada funciona: borrar caché de Google Play (Ajustes > Aplicaciones > Google Play Store > Almacenamiento > Borrar caché y datos) y reiniciar.
- Último recurso: desinstalar la app, reinstalar desde Play Store o, si el problema afecta a varias apps, considerar copia de seguridad y formateo de la SD.
Criterios de aceptación
- La app se actualiza o instala correctamente.
- No aparecen mensajes “Couldn’t install on USB Storage” ni “Error -18”.
- El resto de apps en la SD funcionan con normalidad.
Alternativas y cuándo aplicar cada una
- Reinstalar Google Play: útil si el problema viene del gestor de paquetes.
- Borrar caché y datos del gestor de paquetes (Play Store y Google Play Services): cuando el error persiste tras borrar smdl2tmp1.asec.
- Formatear la SD (como FAT32 o exFAT según teléfono): si la SD está corrupta o varias apps fallan. Aviso: formatear borra todos los datos, haz copia de seguridad.
- Restauración de fábrica: último recurso si el sistema de paquetes tiene problemas persistentes.
Contraejemplos (cuando estas soluciones fallan)
- Si la SD está físicamente dañada (sectores defectuosos), borrar el archivo no solucionará los errores.
- Si el problema lo causa la propia app (APK mal empaquetado), el error puede volver tras reinstalar.
Lista de comprobación para usuarios y administradores (role-based)
Usuario sin conocimientos técnicos:
- ¿Hay espacio libre en la SD? (al menos unos cientos de MB para actualizaciones)
- ¿Puedo mover la app al teléfono y actualizar?
Usuario avanzado / administrador:
- ¿La SD está montada correctamente en el sistema operativo del PC?
- ¿Puedo ver y borrar .android_secure/smdl2tmp1.asec?
- ¿Se han limpiado cachés del instalador y Play Store?
Desarrollador / soporte técnico:
- ¿La app usa instalación en la SD? Revisa el manifest y el flag “android:installLocation”.
- ¿Hay errores relevantes en logcat durante la instalación?
Glosario (una línea cada término)
- ASEC: formato de archivo de aplicación seguro usado por algunas versiones de Android al mover apps a SD.
- Root: acceso administrativo al sistema Android que permite modificar archivos protegidos.
- Montar/Desmontar: proceso por el cual el sistema operativo hace accesible una unidad de almacenamiento.
Buenas prácticas y recomendaciones
- No retires la tarjeta SD sin desmontarla primero desde Ajustes > Almacenamiento > Expulsar o Desmontar.
- Mantén copia de seguridad de tus datos importantes antes de formatear la SD.
- Evita usar tarjetas SD muy baratas o de baja calidad; pueden fallar y provocar corrupción de datos.
Más lectura y recursos
- Gentle Alarm – Una forma fantástica de despertarse gradualmente cada mañana.
- Gestiona y comparte tus archivos con File Expert [Android].
¿Has solucionado algún error similar en Android? ¿Qué método te funcionó? Comparte tu experiencia para ayudar a otros.
Resumen
- El error suele producirse por un archivo temporal (smdl2tmp1.asec) en la SD.
- Las soluciones van desde mover la app al almacenamiento interno hasta borrar ese archivo desde PC, Mac, Terminal o con acceso root.
- Si ninguna solución resuelve el problema, considera revisar la integridad de la SD, limpiar cachés del sistema o, como último recurso, formatear.
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD