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

Notas:

  • La tableta está desbloqueada y rooteada (SuperSU Pro v1.75)
  • Tengo el siguiente flash de recuperación en su lugar: TWRP 2.6.3.0, pero estoy iniciando la recuperación de stock para la adb sideloadinvocación
  • Los controladores están instalados, el host es Win 7 x64 y el dispositivo se detecta en todos los modos (MTP, depuración USB, gestor de arranque)

Cuando intento adb sideload(a través de la recuperación de stock) el archivo 7d9b309e11da82edb5373a1f59965bca89f6041f.signed-razor-KRT16S-from-JSS15R.7d9b309e.zipen mi Nexus 7 (2013) [Wi-Fi], recibo un error:

Finding update package...
Opening update package...
Verifying update package...
Installing update...
Verifying current system...
"/system/app/Drive.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)
Installation aborted.

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

También existe la posibilidad de que pueda usar otro cargador de recuperación/arranque. Para instalar el último CM en mi XT925, por ejemplo, tuve que usar la imagen personalizada de la página de descarga (es incluso un poco más pequeña que la de Clockwork). También tenga en cuenta que reiniciar desde carga rápida en el cargador de arranque puede ser muy, muy complicado, ya que puede ser reemplazado por el cargador de arranque estándar al reiniciar.

Respuestas (1)

Meta

Si tiene la imagen OTA descargada y, como en mi caso, terminó sin éxito, debería poder adb sideload <filename>hacerlo manualmente ( video aquí ).

Problema/Error

... desafortunadamente, la actualización de OTA a través adb sideloadde errores sale con:

Finding update package...
Opening update package...
Verifying update package...
Installing update...
Verifying current system...
"/system/app/Drive.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)
Installation aborted.

donde /system/app/Drive.apkpodría estar cualquier aplicación del sistema.

¿Quién no tiene la culpa?

  • TWRP no tiene la culpa, lo pensé al principio, pero también funcionaría con TWRP.
  • Titanium Backup Pro. Dado que rooteé 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 aprendas sobre esto de esta respuesta ahora.

Causa aparente del error

Usando Titanium Backup Pro, usé la función "congelar" para deshacerme de algunas de las aplicaciones del sistema, a saber:

  • Teclado ASUS
  • Calendario
  • Almacenamiento de calendario
  • com.android.providers.partnerbookmarks
  • com.android.sharedstoragebackup
  • com.google.android.búsqueda por voz
  • Servicios de intercambio
  • Gmail
  • Inicio único de Google
  • Libros de Google Play
  • Juegos de Google Play
  • Revistas de Google Play
  • Google Play Películas
  • Google Play Música
  • Búsqueda de Google
  • Motor de texto a voz de Google
  • conversaciones
  • iWnn IME
  • Teclado iWnnIME (Blanco)
  • Inicialización única

Aparentemente, esta fue la razón por la que se adb sideloadrescató temprano con el mensaje de error que figuraba en mi pregunta.

También desinstalé algunas de las aplicaciones del sistema, y ​​creo recordar que "Drive" (¿recuerdas?:) /system/app/Drive.apkfue una de ellas.

La solución

Encontré la solución en forum.xda-developers.com en esta respuesta . La esencia es que si tiene una imagen modificada, debe restaurarla para que la carga lateral de OTA tenga éxito.

Primero descargue la imagen de archivo para la compilación que tiene actualmente. Asegúrate de que sea el correcto para tu dispositivo. Así que estaba tratando de actualizar de JSS15Ra KRT16Sla versión Wi-Fi, lo que significaba que necesitaba descargar la 4.3 (JSS15R)imagen. Ese fue el expediente razor-jss15r-factory-ec2d4f76.tgzen mi caso. Luego descomprimí lo que me dio una subcarpeta llamada razor-jss15r. En su interior había scripts de shell, un .imgarchivo y un .zip( image-razor-jss15r.zip). Este último necesitaba ser desempacado. Luego tuve los .imgarchivos en la carpeta en la que los descomprimí .zip:

  • boot.img
  • cache.img
  • recovery.img
  • system.img
  • userdata.img

Luego seguí los pasos descritos en la respuesta vinculada:

  1. arranque en el cargador de arranque (mantenga Volume-downy Powerpresione directamente después de encenderlo)
  2. conecte el USB (asegúrese antes de eso de que todos los controladores USB estén instalados )
  3. cambie a la carpeta con los .imgarchivos previamente desempaquetados
  4. verifique desde el indicador del SDK de Android que ve el dispositivo con fastboot devices.
  5. luego ejecute fastboot flash system system.imglo que flasheará una partición del sistema de stock

Nota: a diferencia de la publicación vinculada, omití el paso con fastboot erase systemporque aparentemente está implícito, fastboot flash system system.imgcomo se puede ver en la salida. También lo dejé fuera fastboot flash boot boot.imgy fastboot flash recovery recovery.imgporque pensé que era poco probable que estas "particiones" hubieran sido modificadas (tenía razón). Sin embargo, es posible que necesite los dos últimos. Probablemente dependerá de lo que haya modificado que impide el adb sideloadpaso (es decir, lea y comprenda el mensaje de error).

Aquí está la salida:

# fastboot flash system system.img
erasing 'system'...
OKAY [  1.160s]
sending 'system' (603447 KB)...
OKAY [ 19.786s]
writing 'system'...
OKAY [ 26.720s]
finished. total time: 47.668s

Et voila, un sistema limpio que se puede actualizar OTA.

En resumen, es posible que solo necesite fastboot flash system system.imgdesde la imagen de stock que está ejecutando, si alguna vez recibe un error durante la fase de verificación:

Verifying current system...
"/system/<SOME>.apk" has unexpected contents.
E:Error in /tmp/update.zip
(Status 7)

Descargar para imágenes de fábrica (Nexus 7, ambos)