INSTALL_FAILED_UPDATE_INCOMPATIBLE cuando intento instalar .apk compilado en el dispositivo

291

He compilado el iniciador Trebuchet de CyanogenMod 9 e intento instalarlo con adb:

$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
    pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Probé Nexus S con CM9 y Galaxy Nexus con JB de serie. ¿Por qué recibo este error?

EDITAR: en mi caso, he intentado reinstalar el paquete del sistema con el administrador de paquetes. Eso no es compatible, así que tengo este error. La fuente del error puede diferir en su caso.

artem
fuente
2
en algunos dispositivos más recientes que tienen instalaciones para múltiples usuarios, verifique si la aplicación está instalada para otros usuarios (es decir, inicio de sesión como invitado). Un probador en mi empresa estuvo luchando con este problema durante una hora, cuando vino a verme, me llevó de 5 a 10 minutos descubrir que la misma aplicación estaba instalada con un inicio de sesión de invitado diferente en ese dispositivo, así que no se muestra en la pantalla de inicio o ni siquiera en la configuración
Shirish Herwade

Respuestas:

500

significa que la aplicación que desea instalar ya está instalada. simplemente quite el viejo e intente nuevamente.

Mustafa Güven
fuente
27
Funcionó para mí, pero también tuve que reiniciar una vez.
droidgren
28
Tuve que ir a Configuración -> Administrar aplicaciones para encontrar la aplicación y elegir Desinstalarla desde allí, ya que no se mostraba en otro lugar.
David Conlisk
23
También es posible que deba desinstalar todas las cuentas de usuario (mi Nexus 10 tenía 3 usuarios).
Tyler Kiser
1
@ TylerKiser Gracias por el aviso sobre eso.
Jacob Holloway
1
¿Qué sucede si solo trato de actualizar una aplicación existente? esto eliminaría todo lo que mi última aplicación guardó localmente
miracle-doh
184

Tratar

adb uninstall package-name

Esto funciona para mi. He eliminado mi aplicación con Titanium Backup. Sin embargo, creo que la copia de seguridad de Titanium no eliminó mi aplicación por completo.

einverne
fuente
1
Noté lo mismo usando DevDrawer. Esto funcionó.
tir38
1
¡Gracias! Esto me salvó de un gran dolor de cabeza inexplicable. No estoy seguro de cómo llegué a este estado ... Estoy depurando una aplicación en Xamarin Studio y Visual Studio y estaba funcionando bien hasta que no estaba ... oh, bueno.
Jamie
1
Cuando todo lo demás en la respuesta aceptada falló ... esto funcionó.
DennisWelu
¡Excelente! Simple y fácil. No es necesario reiniciar con esta solución.
taciosd
Esto funciona para mi. Antes de probar la desinstalación y el reinicio manuales y nada cambia, solo con el comando adb funciona. Gracias.
ricky.tribbia
101

Desinstalar la aplicación sería suficiente para evitar este problema.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

pero a veces incluso la desinstalación del mensaje se genera nuevamente, ocurre en Android OS 5.0 +, por lo que esta es la solución:

Vaya a Settings> Appsy encontrará su aplicación con el mensaje:

"No instalado para este usuario" ingrese la descripción de la imagen aquí

¡Tenemos que desinstalar manualmente para todos los usuarios !, luego podemos instalar nuestra aplicación compilada sin problemas.

ingrese la descripción de la imagen aquí

Otras opciones:

  • Elimine la aplicación anterior e instálela nuevamente.

  • Utilice el comando Android Debug Bridge:

    desinstalar adb [NOMBRE DEL PAQUETE]

Jorgesys
fuente
2
¡Gracias! Esto es lo que necesitaba. ¿Por qué y cuándo comenzaron a hacerlo de esta manera?
Nick
aparentemente desde OS 5.0 +
Jorgesys
1
Inicialmente, no pude encontrar mi aplicación desinstalada en Configuración -> Aplicaciones. Resultó que en Lollipop 5.1.1, la aplicación desinstalada estaba listada por el nombre del paquete, no por el nombre de la aplicación. Entonces, si realizó una desinstalación de adb y la instalación de adb sigue fallando, busque su aplicación desinstalada debajo del nombre del paquete. Entonces, com.acme.wileycoyote aparecerá en orden alfabético bajo "c", no "w".
Yojimbo el
Gracias, eso funciona! Mi teléfono no tiene la opción "Desinstalar para todos los usuarios", lo desinstalo
iniciando
1
¿Qué "todos los usuarios" cuando el usuario es exactamente uno - YO! De todos modos, funciona, votó a favor.
WindRider
21

Dos maneras en que pueden ser obras

1: desinstalar la aplicación del dispositivo móvil manualmente

2: Abra el símbolo del sistema, rastree la ruta adby ejecute el siguiente comando

adb uninstall your_package_name
dharam
fuente
2
La única forma que funciona para dispositivos sin pantalla.
DenisKolodin
1
por ejemplo: "adb uninstall net.gavin.hello" donde el nombre del paquete está en AndroidManifest.xml como "package =" net.gavin.hello ""
Gavin Simpson
9

Acabo de cambiar el nombre del paquete y funcionó para mí.

O si está utilizando Ionic, puede eliminar la aplicación e intentarlo nuevamente, esto sucede cuando ionic detecta que la aplicación que está implementando no proviene de la misma compilación. A menudo sucede cuando cambias de PC.

artem
fuente
Nada más funcionó para mí. Gracias por la gran idea!
Ken Pespisa
2
Demasiado trabajo, haría una copia de seguridad y eliminaría apk y lo reinstalaría.
pevik
no funcionó en Android 6.0.1. Tuve que eliminar la aplicación en el dispositivo y reinstalar el mismo paquete.
kakyo
13
"Acabo de cambiar el nombre del paquete", esto no funciona, de hecho, ¡está creando otra aplicación!
Jorgesys
8
  1. vaya a: su carpeta adb \ sdk \ platform-tools \
  2. tipo cmd
  3. tipo: adb remontar en la ventana de comandos
  4. adb shell
  5. su
  6. rm /system/app/YourApp.apk
  7. Reinicia tu dispositivo
usuario3278378
fuente
¿Qué remonta? ¿Puedo usar esta versión de liberación y depuración y montarlos y volverlos a montar fácilmente?
piotrek1543
2
No tiene mucho sentido ya que las aplicaciones de usuario no se almacenan en /system/apppero/data/app
m0skit0
@ piotrek1543 vuelve a montar la adb remountpartición del sistema como lectura-escritura en lugar de solo lectura predeterminada.
m0skit0
8

La pregunta era por qué está recibiendo este error. La desinstalación resolverá este problema, pero en mi caso, mientras instalaba la versión compilada de la apk, surgió el problema. Estaba tratando de crear una actualización para mi aplicación. Entonces, lo que hice, construí una apk firmada y luego intenté instalar la apk y la apk se instaló perfectamente. Entonces, en lugar de eliminar la antigua apk, tuve que firmar la actualización más reciente y luego instalarla.

Reaz Murshed
fuente
1
Igual que aquí. Intenta probar el proceso de actualización. Entonces desinstalar no es una opción.
Martin
6

Esto puede deberse a que tiene más de un usuario en su dispositivo y acaba de eliminar la aplicación en uno ( dejando el apk todavía presente para los otros ).

He eliminado en todas las cuentas, y funcionó después.

Neteinstein
fuente
¿Te refieres a las cuentas de Google?
CACuzcatlan
Sí, exactamente a lo que me refiero.
neteinstein
5

Esto puede suceder si firma su solicitud con un certificado diferente. Siempre puedes usar

adb install -r myapk.apk

para sobrescribir una apk existente en su dispositivo, pero aún recibirá el error si firmó la nueva apk con un certificado diferente al de la apk instalada.

En ese escenario, deberá desinstalar la apk de su dispositivo antes de intentar una instalación. Sin embargo, esto también puede afectar su aplicación, ya que su firma original puede estar vinculada a ciertas API de Developor, por lo que es posible que deba actualizar la consola con sus nuevas credenciales.

Píxel
fuente
4

Instalé el administrador de archivos Astro y busqué una versión anterior del archivo apk, encontré uno en la tarjeta sd y eliminé el archivo apk usando el administrador de archivos Astro.

fll
fuente
4

Si su dispositivo admite múltiples usuarios, es posible que también deba eliminar la aplicación para cada cuenta.

Usualmente uso adb y eso funciona adb uninstall <your-package-name>

Mark Pazon
fuente
4

si el APK está integrado en el proyecto con el archivo Android.mk. Tal vez sea porque el certificado de firma ha sido cambiado.

en mi problema, agregué LOCAL_CERTIFICATE: = plataforma. ya que el apk original está firmado sin esta etiqueta.

fordreamxin
fuente
Esto es realmente un comentario, no una respuesta. Con un poco más de representación, podrás publicar comentarios .
Enamul Hassan
2

En mi caso, no había una versión de la aplicación que pudiera encontrar a través del administrador de dispositivos o Astro.

Lo que terminé haciendo fue:

1) Descargue la última versión de la aplicación desde la tienda de aplicaciones

2) La aplicación aún no estaba visible en el administrador de dispositivos hasta que reinicié mi dispositivo.

3) Eliminar la aplicación del administrador de dispositivos

4) Ejecutar mi proyecto nuevamente

5) Todo funciona

Espero que esto ayude a alguien

YKa
fuente
2

C: \ android-sdk \ platform-tools \ adb.exe: el comando falló con el código de salida 1

Salida de error: adb: no se pudo instalar la aplicación \ plataformas \ android \ app \ build \ salidas \ apk \ debug \ app-debug.apk: Error [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Paquete com.example. app1las firmas no coinciden con la versión instalada previamente; ¡postergación!]

Solución:

Ya tiene la aplicación app1instalada en el teléfono (se descarga principalmente de la consola de reproducción o se cambia la clave de carga)
Desinstale la aplicación.

Más detalles:

Es posible que ya tenga esta aplicación cargada en Play Store con la tecla de carga, Play Console le aplicó su propia firma. Es por eso que la aplicación en su teléfono descargada de Google Play no tiene la misma firma de su clave de carga.

Al desinstalar la aplicación, no hay una versión de Play Store de la aplicación, por lo que no coincide cuando instala una nueva versión en su teléfono.

Espero que ayude.

Manohar Reddy Poreddy
fuente
1

Vaya a Configuración / Aplicaciones / Buscar su aplicación y desinstale ...

Me ha funcionado

Luis Colomé
fuente
1
  1. Vaya a Configuración / Aplicaciones / Busque su aplicación y desinstale ...
  2. abrir símbolo del sistema y "desinstalar adb"

Me ha funcionado

jettimadhuChowdary
fuente
1

Para los usuarios de MIUI, aparte de la opción de depuración USB habitual, asegúrese de habilitar también esta configuración:

Instalar a través de USB
Depuración de USB (configuración de seguridad)

luego acepte el mensaje cuando intente instalar la aplicación nuevamente.

stevyhacker
fuente
1

Tuve el mismo problema e hice lo siguiente para solucionarlo.

  1. Configuración> Almacenamiento> Borrar datos en caché
  2. Configuración> Aplicaciones> Desinstalar las aplicaciones que se muestran allí. Había desinstalado mis aplicaciones pero se estaba mostrando allí.
  3. Reinicie y luego todo salió bien.
Pankaj
fuente
3
El segundo punto ayudó. En mi caso, la aplicación no se instaló para el usuario actual, pero sí para otros usuarios. Entonces, hice clic en la aplicación en la lista de aplicaciones y dentro de la página de detalles, hice clic en el botón Más (tres puntos verticales). Allí, tenía la opción 'Desinstalar para todos los usuarios'. Eso lo hizo por mí. ¡Gracias!
Harisewak
1

Acabo de pasar una hora tratando de depurar esto y luego me di cuenta de que estaba conectado a mi emulador en lugar de a mi teléfono. Entonces, aunque eliminé con éxito la aplicación en mi teléfono, todavía estaba fallando. Estúpido error, pero tal vez esto ayude a alguien más.

Adam Katz
fuente
0

En mi caso, he instalado la aplicación de Playstore y después cuando intento ejecutar desde Eclipse o Android Studio, por lo que intentará instalar nuevamente en ese APK que no permitirá.

Entonces, antes que nada, debes desinstalar ese APK de Siged y luego debes intentarlo.

Gracias.

Pratik Butani
fuente
0

RankoR @ debe haber instalado la aplicación desde una computadora diferente. en mi caso, ahí es donde surgió el problema ... todo lo que necesitas hacer es desinstalar la aplicación y reinstalarla o ejecutarla desde la computadora en la que estás trabajando ... esta podría ser una respuesta tardía pero ayudará a alguien ... gracias

Mohammed Nathar
fuente
0

Me sucedió cuando instalé una compilación de desarrollo usando Instant Run y ​​la desinstalé de Google Play. Por alguna razón, los datos de Instant Run todavía están en el dispositivo y no pueden instalar / desinstalar la aplicación nuevamente.

Única forma de solucionarlo: - deshabilite Instant Run en Android Studio - instale desde Android Studio (debería funcionar solo desde aquí) - desinstale la aplicación

ahora debería estar limpio para instalar desde Google Play o adb.

Ignacio Tomás Crespo
fuente
0

se produce si construyes tu apk desde otra PC y la actualizas desde otra PC

Prashant Jajal
fuente
¿Cuál es la solución para este caso?
dpaksoni
0

Si su archivo de manifiesto tiene esta línea:

android: sharedUserId = "android.uid.system"

está causando este error! ¡solo comente esta línea y estará listo!

DiseñandoVidas
fuente
0

No veo que nadie mencione mi caso, así que permítanme agregarlo: sucede cuando compila la aplicación en un modo (por ejemplo, Dev) y luego intenta anularla con un modo diferente (por ejemplo, Producción).

La solución es la misma que para los otros casos: elimine la aplicación en el dispositivo / simulador y vuelva a ejecutarla.

Andrija
fuente
0

Si está intentando depurar desde una computadora diferente a la que tenía originalmente, recibirá el temido error INSTALL_FAILED_UPDATE_INCOMPATIBLE. Sin embargo, hay una manera de proceder sin desinstalar la aplicación y perder sus datos.

Para ver cómo transferir el debug.keystore requerido para que no reciba el mensaje "El dispositivo ya tiene una aplicación con la misma aplicación pero con una firma diferente. Para continuar, deberá desinstalar la aplicación existente". (y perder sus datos). Consulte Actualizar la aplicación en otra máquina con el mismo debug.keystore en Android

Paul Effrem
fuente
0

Samsung Galaxy Phones tiene una función conocida como aplicación de eliminación de carpetas seguras que resuelve el problema para mí.

también adb uninstall packagename no puede eliminar la aplicación de la carpeta segura.

Saeed Arianmanesh
fuente