viernes, 6 de enero de 2017

TWRP: Updater process ended with ERROR: 7

Al intentar instalar una ROM para mi smartphone desde el recovery TWRP, me ha aparecido este mensaje de error "This package is for device: s3_h560; this device is h560"


Este problema se refiere a que la instalación no pudo completarse debido a una incompatibilidad con la versión de la actualización. De hecho, justo en la línea anterior tenemos la pista: This package is for device: s3_h560; this device is h560.

La información del nombre del dispositivo está contenida en la carpeta /system dentro del archivo build.pro, pero si abro dicho archivo, puedo ver que el nombre que aparece en él es el esperado: s3_h560.

El problema por lo visto es que este fichero solo se usa al arrancar el sistema, no al entrar en el recovery, por lo que esta información debe estar almacenada en otro sitio.

En lugar de tratar de averiguar dónde está y cómo modificar la información que está utilizando el recovery, puede arreglarse fácilmente mirando el script del instalador -en mi caso el archivo es aosp_7.1.1_s3_h560_20170105.zip

Si nos vamos a la carpeta META-INF\com\google\android veremos que hay un archivo con nombre updater-script. Este archivo contiene los pasos a realizar para instalar la actualización.
Concretamente en las primeras líneas encontraremos lo siguiente:

assert(getprop("ro.product.device") == "s3_h560" || getprop("ro.build.product") == "s3_h560" || abort("This package is for device: s3_h560; this device is " + getprop("ro.product.device") + "."););

Básicamente, lo que hace es comprobar que dos claves leídas contengan el literal s3_h560 y de no ser así, se muestra el mensaje de error que abre este post.

La forma más sencilla para solucionar el problema es eliminar esta línea y guardar la modificación en el archivo zip.
Ahora podremos instalarlo sin problemas.

Comentarios
4 comentarios
Para Comentar Elige el Sistema de Comentario de tu Agrado:
Comentarios Comentarios Comentarios