Errores de adb install: códigos INSTALL_FAILED explicados
Qué significa cada error de adb install y cómo solucionarlo, desde INSTALL_FAILED_VERSION_DOWNGRADE y UPDATE_INCOMPATIBLE hasta NO_MATCHING_ABIS y USER_RESTRICTED.
adb install app.apk muestra Success o bien Failure [CÓDIGO: mensaje]. El código te dice exactamente qué salió mal. Abajo están los códigos que vas a ver más seguido, qué significan y cómo solucionar cada uno.
Tabla rápida
| Código | Significado | Solución |
|---|---|---|
INSTALL_FAILED_ALREADY_EXISTS | La app ya está instalada | adb install -r app.apk |
INSTALL_FAILED_VERSION_DOWNGRADE | Código de versión menor que el de la app instalada | adb install -r -d app.apk, o desinstala primero |
INSTALL_FAILED_UPDATE_INCOMPATIBLE | Mismo paquete, otra clave de firma | Desinstala primero la app instalada |
INSTALL_PARSE_FAILED_NO_CERTIFICATES | El APK no está firmado | Fírmalo, o genera un APK debug o release firmado |
INSTALL_FAILED_NO_MATCHING_ABIS | Código nativo para otro tipo de CPU | Usa un APK compilado para el ABI del celular |
INSTALL_FAILED_OLDER_SDK | El Android del celular es demasiado viejo | Usa una compilación con minSdkVersion más bajo |
INSTALL_FAILED_TEST_ONLY | APK marcado como testOnly | adb install -t app.apk |
INSTALL_FAILED_INSUFFICIENT_STORAGE | No hay suficiente espacio libre | Libera almacenamiento |
INSTALL_FAILED_USER_RESTRICTED | El celular bloqueó la instalación | Permite instalar por USB y confirma en el celular |
INSTALL_FAILED_MISSING_SPLIT | Falta una parte de un APK dividido | Instala todas las partes juntas |
Los más comunes en detalle
UPDATE_INCOMPATIBLE: las firmas no coinciden
Ya hay instalada una app con el mismo nombre de paquete pero firmada con otra clave, por ejemplo la versión de Play Store de la app que estás probando. Android no la reemplaza, para proteger sus datos:
adb uninstall com.example.app
adb install app.apkDesinstalar borra los datos de esa app en el celular.
VERSION_DOWNGRADE
Estás instalando una compilación más vieja encima de una más nueva. Permítelo con -d:
adb install -r -d app.apkEn las versiones recientes de Android esto solo funciona con compilaciones depurables. Si no, desinstala primero.
NO_MATCHING_ABIS
El APK trae librerías nativas para un procesador que el celular no usa, por ejemplo una compilación solo x86_64 en un celular ARM, o una solo arm64-v8a en un celular o tele con Android de 32 bits. Revisa qué soporta el celular:
adb shell getprop ro.product.cpu.abilistLuego compila o descarga la variante que corresponde, o un APK universal.
USER_RESTRICTED
El celular rechazó la instalación. En Xiaomi, Redmi y POCO, activa Instalar vía USB (Install via USB) en Opciones de desarrollador y toca Instalar en la confirmación que aparece en el celular. Detalles en Depuración USB y configuración de seguridad en Xiaomi. Los perfiles de trabajo y el control parental también pueden bloquear instalaciones.
APK divididos y app bundles
Las apps que vienen de Android App Bundles llegan como varios archivos APK (uno base y varios splits). Instálalos todos de una vez:
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.en.apkUn archivo .aab no se puede instalar directamente. Primero genera los APK con bundletool.
Play Protect bloquea la instalación
A veces la instalación se detiene porque Google Play Protect advierte sobre una app desconocida. Mira la pantalla del celular y elige instalar de todos modos solo si confías en el APK.
Instalar APK desde el navegador
El panel Install APK de ADBKit hace la misma instalación en el celular y muestra el resultado exacto, incluido el código de error en palabras sencillas. Marca Replace existing app para actualizar una app instalada, que equivale a -r. Funciona por USB o por Wi-Fi con el agente de ADBKit, y el APK va directo de tu computadora al celular.
Más sobre instalación en cómo instalar un APK con ADB.