INSTALL_FAILED_UPDATE_INCOMPATIBLE instalando aplicación en Android

111204-14000936-android4icsbootloader-IMG_20111204_130918_large_verge_medium_landscape.jpg

“rooteando” por enésima vez mi Droid X, me encontré con un problema. Quería actualizar me Superuser.apk. Para ello tenemos 2 opciones básicamente:

adb install -r Superuser.apk
adb uninstall Superuser.apk (también probé con -k)

Ninguna de las 2 opciones me funcionaron. Así que procedí a lo bruto. Como ya tenía root en el sistema (aunque no permanente en ese momento) me fui al directorio /system/app y la borre (rm) como un hombre :)

Claro, más chulo que un ocho, vamos a instalar el nuevo Superuser.apk y… en la frente:

INSTALL_FAILED_UPDATE_INCOMPATIBLE

Después de investigar un poco, al borrar la aplicación así por la buenas, existe un fichero llamado /data/system/packages.xml que contiene cierta información sobre las aplicaciones instaladas y si intentas instalar una aplicación registrada en dicho fichero, pero con distinta firma, nos aparece el error mencionado. Por la tanto nuestro solución pasa por:

adb pull /data/system/packages.xml

Editamos el fichero y borramos la entrada correspondiente a nuestra aplicaión (hazte una copia del fichero antes de nada por si acaso), en nuestro caso Superuser.apk. En mi caso tenía esta pinta:






adb push packages.xml /data/system/packages.xml
adb shell chown system.system /data/system/packages.xml

Reiniciamos nuestro terminal, paso muy importante y

adb install Superuser.apk

Y ya todo debería ir bien.