19 votos

Obteniendo error de verificación al intentar hacer "adb sideload" de la actualización OTA en Nexus 7 (2013)

Notas:

  • La tableta está desbloqueada y con permisos de root (SuperSU Pro v1.75)
  • Tengo la siguiente recuperación flasheada: TWRP 2.6.3.0, pero estoy iniciando la recuperación estándar para la invocación de adb sideload
  • Los controladores están instalados, el sistema operativo del host es Win 7 x64 y el dispositivo se detecta en todos los modos (MTP, depuración USB, bootloader)

Cuando intento hacer adb sideload (a través de la recuperación estándar) del archivo 7d9b309e11da82edb5373a1f59965bca89f6041f.signed-razor-KRT16S-from-JSS15R.7d9b309e.zip en mi Nexus 7 (2013) [Wi-Fi], recibo un error:

Buscando paquete de actualización...
Abriendo paquete de actualización...
Verificando paquete de actualización...
Instalando actualización...
Verificando sistema actual...
"/system/app/Drive.apk" tiene contenido inesperado.
E:Error en /tmp/update.zip
(Estado 7)
Instalación abortada.

¿Qué estoy haciendo mal? ¿Qué debo cambiar para que el adb sideload tenga éxito?

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.

12voto

0xC0000022L Puntos 370

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:

  1. arranca en el cargador de arranque (mantén presionadas las teclas Volume-abajo y Power directamente después de encenderlo)
  2. conecta USB (asegúrate antes de eso de que todos los controladores USB estén instalados)
  3. cambia a la carpeta con los archivos .img previamente desempaquetados
  4. comprueba desde la ventana de comandos de Android SDK que veas el dispositivo con fastboot devices.
  5. 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.imgfastboot 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)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X