Hoy vamos a daros la solución al error comúnmente conocido como «archive does not contain» que nos sucede al instalar una imagen de fábrica, concretamente al flashear vía fastboot las imágenes de Google en nuestros dispositivos Nexus. La solución a este error que os vamos a explicar es compatible con cualquier dispositivo Nexus y cualquier versión de Android: Lollipop, Kitkat, Marshmallow… etc.
Para solucionar este error hay que proceder de manera manual, extrayendo el archivo.zip que viene dentro del extraíble de la imagen y flasheando los archivos uno a uno a partir de la máquina virtual. Es muy importante que antes de empezar este procedimiento os aseguréis de que habéis extraído todas las imágenes y resto de archivos de vuestro Smartphone, puesto que con este método se pierden todos los datos y el teléfono queda restaurado de fábrica.
Habiendo explicado ya la información relevante, vamos a ir ahora paso por paso con el tutorial:
Paso 1: Instalar drivers
El primer paso que hay que realizar es el de instalar los drivers. Este paso es muy sencillo. Para descargar las fastboot tools podéis hacerlo desde Android SDK. Aseguraos de que obtenéis la última versión de Android SDK Platform-tools del SDK Manager.
Paso 2: Desbloquear bootloader
En el siguiente paso, lo que debemos hacer es conectar el terminal por USB en modo fastboot. Para hacer ésto sólo hace falta seguir unos simples pasos:
- Apagar el smartphone.
- Encender el terminal apretando los botones de volumen abajo + botón de power.
- Nos vamos a la ruta donde se han instalado las herramientas SDK y pulsamos tecla SHIFT de nuestro teclado, seguidamente de botón derecho de nuestro ratón. Pulsamos en abrir ventana de comandos aquí.
- Debemos desbloquear el bootloader del terminal poniendo en marcha el comando fastboot oem unlock en la ventana que se nos abre y aceptándolo en nuestro móvil o tablet Nexus como aparece en la imagen.
- A continuación entraremos en el modo fastboot de nuevo y sólo hay que seguir unas sencillas instrucciones que nos aparecerán en la pantalla. Entraremos en el directorio del archivo de imagen descomprimido. Aquí debemos seleccionar flashear todo.
Paso 3: Comando a comando
A continuación, debemos descomprimir también el archivo de la imagen de Lollipop o cualquier otra versión de Android (en Nexus 5 por ejemplo sería el archivo “image-hammerhead-lrx21o.zip”). Cuando ya tengamos todo descomprimido en la carpeta “platform-tools” del SDK, ejecutaremos desde esa carpeta en línea de comandos (cmd) las siguientes órdenes una a una:
fastboot flash bootloader bootloader-hammerhead-hhz12d.img (la parte que está subrayada debe ser sustituida por el nombre del archivo del bootloader que tengas en tu carpeta)
fastboot reboot-bootloader
fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.21.img (la parte que está subrayada debe ser sustituida por el nombre del archivo del bootloader que tengas en tu carpeta)
fastboot reboot-bootloader
fastboot flash system system.img
fastboot reboot-bootloader
fastboot flash userdata userdata.img
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot erase cache
fastboot flash cache cache.img
fastboot reboot
Después de escribir cada comando hay que asegurarse de poner el formato de archivo .img y darle enter. En cuanto a la imagen de la versión de Android que se encuentra en el archivo fastboot flash bootloader bootloader-hammerhead-hhz12d.img, simplemente debemos cambiarle el nombre al archivo por el correspondiente a la versión que se descargue. Al igual que debemos hacer con el archivo de la radio fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.21.img. El resto de comandos son iguales puesto que los archivos de todas las imágenes llevan esos nombres exceptuando la radio y el bootloader.
Este paso puede tardar un buen rato, sobre todo el comando para flashear la imagen. Tomadlo con calma y no desesperéis.
Paso 4: Esperar a que se reinicie el dispositivo
Este es el último paso. En las versiones de Android a partir de Lollipop, el proceso de encendido puede llegar a tardar hasta 10 minutos debido a la maquina virtual ART que requiere más tiempo de inicio durante el primer encendido del terminal. El resto de encendidos tardarán muy poco (10-20 segundos).
Una vez que nuestro terminal se haya reinciado debemos bloquear otra vez el bootloader para mayor seguridad si nosotros deseamos. Pero eso sí, si lo queremos volver a desbloquear, implica pérdida total de datos. Ésto lo conseguimos ejecutando el comando fastboot oem lock.
Y eso es todo. Tras realizar estos pasos deberíamos haber solucionado nuestro problema de forma efectiva. Espero que os haya servido este tutorial y si tenéis algún comentario, dejadlo aqui abajo.