Después de reinstalar Android a partir de imágenes de archivo, ¿por qué las actualizaciones se quejan de los archivos /sistema modificados?

Después de descubrir por las malas que rootear , modificar/system y mirar de /systemmanera incorrecta rompe las actualizaciones, decidí dejar todas las cosas de usuarios avanzados y seguir la ruta sancionada: sin sistema de recuperación personalizado o rooting ni nada ; Android puro y de serie. Con ese fin, me puse a realizar un restablecimiento de fábrica [unrooting] , por así decirlo.

Estos son los pasos que he seguido:

  1. Adquiera el platform-toolspara el sistema operativo de su computadora. Extráigalos y agregue el directorio resultante a su archivo $PATH.
  2. Descargue una imagen de stock de Android , asegurándose de que el identificador del modelo coincida con el de su dispositivo, pero que la versión no sea la última (esto es necesario para el paso 8). Verifique la imagen usando el hash incluido en la tabla, luego extráigala. Inicie un shell si aún no lo ha hecho y cambie al directorio extraído.
  3. Desbloquee el gestor de arranque ( fastboot oem unlock).
  4. Vuelva a instalar Android ( ./flash-all.sh). Asegúrese de capturar el dispositivo antes del último reinicio manteniendo presionada la combinación de teclas de inicio a recuperación tan pronto como se imprima el script rebooting...después de escribir la imagen de caché (esto le ahorra tener que reiniciar nuevamente para el siguiente paso).
  5. Bloquee el gestor de arranque ( fastboot oem lock).
  6. Reiniciar. Espere a que Android haga lo que sea que haga cuando inicie una nueva versión por primera vez.
  7. Realice la configuración inicial del dispositivo. (Yo personalmente me conecto a una red Wi-Fi y luego me salto todo lo demás para ahorrar un poco más de tiempo).
  8. Busque, descargue e instale una actualización del sistema operativo Android. Espera un poco más mientras eso sucede.
  9. Observe lo siguiente en la pantalla del dispositivo, con el texto Error!en blanco debajo:

En la imagen: el robot Android de espaldas, con un signo de exclamación dentro de un triángulo rojo.

  1. Abra el menú de recuperación y elija View recovery logs, luego /cache/recovery/last_log. Desplácese hasta la parte inferior y busque una indicación de por qué falló la actualización. Transcriba las líneas más relevantes, junto con la versión y el ID de compilación de la imagen del paso 2.

Mi dispositivo es un Nexus 5, comprado en noviembre de 2013 en Play Store. Hasta ahora, probé esto usando Android 6.0.0/MRA58K y Android 5.1.1/LMY48M, que produjo lo siguiente en los registros de recuperación:

6.0.0/MRA58K:

failed to stat "/cache/saved.file": No such file or directory
script aborted: "/system/priv-app/SetupWizard/oat/arm/SetupWizard.odex" has unexpected contents.

5.1.1/LMY48M:

Remounting and verifying system partition files...
script aborted: assert failed: sha1_check(read_file("/system/fonts/NotoSansTC-Regular.otf"), some_hash)

En ambos casos, el problema parece ser un archivo /systemcon contenidos que no son iguales a los que espera el instalador de la actualización. Esto es excepcionalmente frustrante, dado que mi procedimiento requiere específicamente imágenes oficiales de Android, recuperadas nada menos que del sitio web de Google y verificadas usando los hash que publican (y sí, me aseguro de usar TLS).

¿Me perdí un paso? ¿Qué está yendo mal aquí? ¿Y cómo vuelvo al camino bendito y una vez más se me considera digno de recibir las actualizaciones inalámbricas tan buscadas?

¿Cuál fue el error vago? Descargas de las propias imágenes de fábrica de Android de Google: developer.google.com/android/nexus/images?hl=en android SDK actual de Android: developer.android.com/sdk/installing/index.html
@BoLawson El error es la imagen vinculada de la mascota de Android, con el texto literal Error!debajo. Y sí, obtuve la imagen de la página que vinculaste.
Bueno esta bien. ¿Alguna idea de por qué las actualizaciones de OTA todavía no funcionan?
Simplemente sucede a veces, pero podría ser una descarga dañada. Puede consultar los registros de recuperación en la recuperación. Debería ser la última opción para ver lo que dicen. Podría tener el last_log dentro de él. /caché/recuperación/último_registro
@BoLawson Hmmmm... dos cosas diferentes saltan a la vista: failed to stat "/cache/saved.file": No such file or directoryy script aborted: "/system/priv-app/SetupWizard/oat/arm/SetupWizard.odex" has unexpected contents..
Todavía no tienes en stock la imagen de fábrica de Google de nuevo.
@BoLawson ¿No? ¿Qué estoy flasheando, entonces, y dónde obtengo la imagen de fábrica?
¿Puede usted adb sideloadel paquete de actualización de OTA en la recuperación? ¿Para qué son las actualizaciones OTA (de qué versión a qué versión)? Puede buscar xxx OTA zipen Google para descargar el archivo zip, siempre que xxxrepresente la OTA correspondiente correcta. De hecho, podría ser una mala descarga del propio paquete OTA, y esto debería ayudar a aclarar el problema.

Respuestas (2)

Volver a la ROM original requiere un formato completo, ya que las particiones y sus atributos suelen ser diferentes en diferentes ROM. Esto resolverá su problema con la llegada de un posible cambio en la información del dispositivo, como IMEI o similar. Otro inconveniente es la reducción de la memoria al formatear, especialmente si sus particiones contenían una gran cantidad de datos de usuario durante el formateo.

Sugerencia: repita los pasos nuevamente, pero esta vez asegúrese de montar su partición /system y formatearla también, desmóntela después (debería desmontarse automáticamente).

Ahora. Que empiece el parpadeo...

Realmente no creo que sea esto, dado que cada script indicaba cada vez que los ejecutaba que eran erasing 'system', luego downloading 'system'y writing 'system'.
¿También lo que? Nunca he oído hablar de intentar formatear una partición mientras estaba montada. ¿Y por qué perdería espacio de almacenamiento si había muchos datos de usuario antes de formatear?

No tengo una explicación para ti, pero prueba más versiones en general y construye MRA58N en particular.

No tengo absolutamente ninguna idea de por qué esto funcionó. Si tuviera que adivinar, diría que las dos imágenes desde las que intenté instalar originalmente tenían /systemarchivos defectuosos, pero un error como ese parece extraordinariamente improbable.