Objetivo
Si tienes la imagen OTA descargada y, como en mi caso, terminaste sin éxito, deberías poder hacer adb sideload
manualmente (aquí el video).
Problema/Error
... desafortunadamente la actualización OTA a través de adb sideload
termina con errores:
Encontrando el paquete de actualización...
Abriendo el paquete de actualización...
Verificando el paquete de actualización...
Instalando la actualización...
Verificando el sistema actual...
"/system/app/Drive.apk" tiene contenido inesperado.
E:Error en /tmp/update.zip
(Status 7)
Instalación abortada.
donde /system/app/Drive.apk
podría ser cualquier aplicación del sistema.
¿Quién no es el culpable?
- TWRP no es el culpable, pensé que sí al principio, pero también funcionaría con TWRP.
- TitaniumBackup Pro. Desde que rootée mi dispositivo y utilicé una función de usuario avanzado, debería haber sabido de sus efectos secundarios. ¡Ahora lo sé, sin embargo :) ... y hay una buena posibilidad de que tú también aprendas sobre esto a través de esta respuesta ahora.
Causa aparente del error
Usando Titanium Backup Pro, había utilizado la función de "congelar" para deshacerme de algunas aplicaciones del sistema, a saber:
- ASUS Keyboard
- Calendario
- Almacenamiento de Calendario
- com.android.providers.partnerbookmarks
- com.android.sharedstoragebackup
- com.google.android.voicesearch
- Servicios de Exchange
- Gmail
- Google One Time Init
- Google Play Books
- Google Play Games
- Google Play Magazines
- Google Play Movies
- Google Play Music
- Google Search
- Motor de texto a voz de Google
- Hangouts
- iWnn IME
- iWnnIME Keyboard (Blanco)
- One Time Init
Esto fue aparentemente por qué el adb sideload
se detuvo temprano con el mensaje de error dado en mi pregunta.
También desinstalé algunas de las aplicaciones del sistema, y creo recordar que "Drive" (¿recuerdas?: /system/app/Drive.apk
) era una de ellas.
La solución
Encontré la solución en forum.xda-developers.com en esta respuesta. La idea principal es que si tienes una imagen modificada, necesitas restaurarla para que la actualización OTA tenga éxito.
Primero descarga la imagen original para la compilación que tienes actualmente. Asegúrate de que sea la correcta para tu dispositivo. Así que estaba intentando actualizar de JSS15R
a KRT16S
en la versión Wi-Fi, lo que significaba que necesitaba descargar la imagen 4.3 (JSS15R)
. Ese era el archivo razor-jss15r-factory-ec2d4f76.tgz
en mi caso. Luego desempaqué eso, lo que me dio una subcarpeta llamada razor-jss15r
. Dentro de ella había scripts de shell, un archivo .img
y un .zip
(image-razor-jss15r.zip
). Este último necesitaba ser desempaquetado. Después tuve los archivos .img
en la carpeta donde desempaqué el .zip
:
boot.img
cache.img
recovery.img
system.img
userdata.img
Luego seguí los pasos descritos en la respuesta enlazada:
- arranca en el cargador de arranque (mantén presionadas las teclas Volume-abajo y Power directamente después de encenderlo)
- conecta USB (asegúrate antes de eso de que todos los controladores USB estén instalados)
- cambia a la carpeta con los archivos
.img
previamente desempaquetados
- comprueba desde la ventana de comandos de Android SDK que veas el dispositivo con
fastboot devices
.
- luego ejecuta
fastboot flash system system.img
que flasheará una partición de sistema stock
Nota: a diferencia de la publicación enlazada, omití el paso con fastboot erase system
porque aparentemente está implícito en fastboot flash system system.img
fastboot flash boot boot.img y fastboot flash recovery recovery.img
porque pensé que era poco probable que estas "particiones" hubieran sido modificadas (tenía razón). Sin embargo, es posible que necesites las dos últimas. Probablemente dependa de qué modificaste que impide el paso de adb sideload
(es decir, lee y comprende el mensaje de error).
Aquí está la salida:
# fastboot flash system system.img
borrando 'system'...
OKAY [ 1.160s]
enviando 'system' (603447 KB)...
OKAY [ 19.786s]
escribiendo 'system'...
OKAY [ 26.720s]
terminado. tiempo total: 47.668s
Et voilà, un sistema limpio que puede ser actualizado por OTA.
Así que en resumen, es posible que solo necesites fastboot flash system system.img
de la imagen original que estás ejecutando, si alguna vez recibes un error durante la fase de verificación:
Verificando el sistema actual...
"/system/.apk" tiene contenido inesperado.
E:Error en /tmp/update.zip
(Status 7)
Descarga las imágenes de fábrica (Nexus 7, ambas)
0 votos
También existe la posibilidad de que pueda usar otra recuperación / cargador de arranque. Para instalar la última versión de CM en mi XT925, por ejemplo, tuve que usar la imagen personalizada de la página de descargas (incluso es un poco más pequeña que la de Clockwork). También ten en cuenta que reiniciar desde fastload al cargador de arranque puede ser muy, muy complicado, ya que puede ser reemplazado por el cargador de arranque original al reiniciar.