Las firmas del paquete no coinciden con la versión instalada previamente

93

Este es mi proyecto: https://github.com/kenpeter/my_hak_news , que es una copia directa de https://github.com/grigio/HAgnostic-News .

Git clone https://github.com/kenpeter/my_hak_news , luego ejecutereact-native run-android

Tengo este error:

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.hagnosticnews signatures do not match the previously installed version; ignoring!

Problema relevante: https://github.com/grigio/HAgnostic-News/issues/1 , sigo varias formas, pero no puedo resolver este problema.

kenpeter
fuente
14
¿Tiene la aplicación ya instalada en su teléfono? Si es así, deberá desinstalarlo porque está utilizando una firma diferente a la original
maxoumime
Una vez lo instalé en mi teléfono, luego lo desinstalé presionándolo durante mucho tiempo, luego me moví para desinstalar. Sigue sin funcionar.
kenpeter
4
Compruebe si la aplicación se ha desinstalado para todos los usuarios. Vaya a Configuración -> Aplicaciones -> Noticias HAgnostic -> Opciones (los tres puntos en la parte superior derecha) -> Desinstalar para todos los usuarios
maxoumime
¡Esa es la solución!
kenpeter

Respuestas:

133

Necesita desinstalarlo porque está usando una firma diferente a la original. Si no funciona, podría deberse a que todavía está instalado para otro usuario en el dispositivo. Para desinstalar completamente, vaya a Configuración -> Aplicaciones -> Noticias HAgnostic -> Opciones (los tres puntos en la parte superior derecha) -> Desinstalar para todos los usuarios

maxoumime
fuente
2
La desinstalación no hace nada. Este error ocurre incluso en dispositivos que no tienen la aplicación instalada.
IgorGanapolsky
3
@maxoimime qué sucede cuando publica la nueva versión en Play Store. ¿El usuario tiene que desinstalar la aplicación antes de instalar la nueva versión? ¿O el usuario podrá actualizar la aplicación sin ningún problema?
Peter
@maxoimime esta respuesta funciona. Puede considerar eliminar su comentario. Es engañoso para la mayoría de los usuarios
AL-zami
1
Este también fue el problema para mí. Resulta que mi aplicación también se instaló en la carpeta segura de Samsung.
Roman
Me enfrenté a este problema porque, por algunas razones, algunas aplicaciones desinstaladas anteriormente estaban en "no instaladas para este usuario". Pero solo tengo un usuario en mi teléfono. Eso es raro
Rémi Rousselet
79

También encontré este problema en mi proyecto.

Esto me ayudó, así que espero que ayude a alguien más:

adb uninstall "com.domain.yourapp"

La solución es de aquí.

jirimertin
fuente
Respuesta correcta, +1 por salvarme el día :)
Saeed
1
Esta es la respuesta correcta, ya que ya había desinstalado la aplicación del teléfono para todos los usuarios, pero seguía recibiendo el mismo error. Gracias
Tarek K. Ajaj
1
Usuario de Xamarin Forms aquí. Esta fue la respuesta para mí. Había desinstalado la aplicación del teléfono, pero eso no fue suficiente.
brunner
sí, eso también funciona para mí, ¡no se muestra en la lista de aplicaciones!
sl45sms
Estaba tan seguro de que esta era la respuesta correcta que voté a favor de ella incluso antes de probarla y, como esperaba, funcionó. ¡Gracias!
Jay Yoon
17

Si la versión de la aplicación que ha instalado no se creó con el mismo almacén de claves / certificado de firma, tendrá una firma diferente. De forma predeterminada, cada máquina de compilación tendrá un certificado de depuración diferente a menos que especifique cómo debe firmarse de acuerdo con la documentación de Google , que se puede utilizar para garantizar que su aplicación se compile con la misma clave de depuración, independientemente de la computadora en la que compile la aplicación. en.

Para continuar con la instalación, debe desinstalar la versión existente y luego intentarlo nuevamente.

Jake_
fuente
14

Esto sucede cuando ha instalado una aplicación con diferentes versiones en su teléfono móvil / emulador.

Simplemente desinstale la aplicación existente resolverá el problema

Muhammad Ashfaq
fuente
10

Esto sucede principalmente cuando el teléfono tiene instalada la versión de la aplicación de Google Play Store. Puede crear el código con el mismo almacén de claves / certificado que utilizó para su versión de producción, o simplemente desinstalarlo del teléfono y compilarlo con su almacén de claves / certificado de depuración

COMO
fuente
Estoy enfrentando el mismo problema que se menciona en la pregunta. ¿Puede decirme cómo puedo crear el código con un almacén de claves / certificado anterior? Mi cliente me proporcionó el archivo de almacén de claves, pero no sé cómo puedo construir mi Android nativo de reacción con el archivo de almacén de claves proporcionado por mi cliente.
Yousaf Iqbal
No usé Android desde hace algún tiempo, pero de acuerdo con esto: developer.android.com/studio/publish/app-signing#sign_release , debe ir a Build> Generate Signed Bundle / APK, y debajo de la 'Ruta de la tienda de claves ', presione' Elija existente ... '
AS
6

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: No se pudo finalizar la sesión: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Las firmas del paquete [MY REACT NATIVE APP NAME HERE] no coinciden con la versión instalada previamente; ¡postergación!

Recibí este error al intentar instalar mi aplicación React Native Android en un dispositivo conectado usando este comando:

react-native run-android --variant=release

También tenía un emulador ejecutándose en mi computadora.

Una vez que salí del emulador , la ejecución de este comando se realizó correctamente.

Beau Smith
fuente
6

Hoy, enfrenté el mismo problema en mi dispositivo Samsung. En mi caso particular, la aplicación NO se mostraba en el teléfono pero estaba INSTALADA , por lo que no pude desinstalarla / eliminarla . Por lo tanto, tuve que desinstalar la aplicación usando la terminal : $ adb uninstall "com.domain.yourapp" Mi árbol de proyecto se ve así (vista parcial):

└── com
    └── gluonapplication
        ├── DrawerManager.java
        ├── StartApplication.java
        └── views
            ├── PrimaryPresenter.java
            ├── PrimaryView.java
            ├── SecondaryPresenter.java
            └── SecondaryView.java

Entonces, para mí, el comando fue: $ adb uninstall com.gluonapplication Una vez hecho, instalé la aplicación a través de la terminal:

$ cd /path/to/apk/
$ adb install -t myAwesomeApp.apk  # -t means test install

Eso es lo que funciono para mi. Espero que esta respuesta sea útil.

Qazi Fahim Farhan
fuente
5

Si está intentando instalarlo en un emulador pero tiene otro teléfono conectado a la computadora a través de USB, desconecte el cable USB o desactive la depuración USB en el dispositivo físico. (Perdí 30 minutos en eso yo mismo).

waliurjs
fuente
1
Este era mi problema. Tenía mi teléfono conectado a mi computadora para cargarlo y estaba tratando de ejecutarlo en un emulador.
user3486427
3

Tengo el mismo error. Desinstalé la aplicación en mi dispositivo virtual y volví a ejecutar el comando: 'react-native run-android'.

Wiezalditzijn
fuente
1

Tengo el mismo problema, funcionaba bien en AVD, pero en mi teléfono no estaba bien. Desinstalé la aplicación en mi teléfono y luego está funcionando bien.

Rafael Ramon
fuente
1

Este error me sucedió cuando se cargaba una compilación anterior en mi simulador / teléfono con diferentes credenciales. Lo que tuve que hacer fue ejecutar:

adb uninstall com.exampleappname

Una vez que hice eso, pude volver a ejecutar la compilación y generar un APK.

Ariel Salem
fuente
0

Debe desinstalarlo porque está utilizando una firma diferente a la original. Si no funciona, podría deberse a que todavía está instalado para otro usuario en el dispositivo. Para desinstalar completamente, vaya a Configuración -> Aplicaciones -> (aplicación específica) -> Opciones (los tres puntos en la parte superior derecha) -> Desinstalar para todos los usuarios.

También tengo el problema de que la aplicación iónica ya instalada (el mismo nombre del paquete) se elimina de mi teléfono y luego funciona perfectamente.

mahendren
fuente
0

Tuve este problema en un dispositivo Samsung, la desinstalación de la aplicación dio el mismo mensaje. El problema fue que la aplicación también se instaló en el área "Carpeta segura" del teléfono. Vale la pena comprobar si este es tu escenario.

Eliram
fuente
0

Vaya a Android Studio -> Administrador de AVD -> Seleccione su AVD y borre los datos del usuario

No es necesario volver a instalar todo el AVD.

mingliang94
fuente
0

necesita desinstalar completamente para dispositivos LG usando cmd adb desinstalar packageName

v.Vinh
fuente
Responden a esta pregunta hace 4 años con lo que estás sugiriendo
Gonzalo García
0

Esto me sucedió en un proyecto de React Native cuando estaba cambiando el nombre de la ID de paquete de una aplicación y chocó con otra ID de paquete que ya había usado antes. Lo arreglé realizando una reinstalación:

  1. Busque la aplicación en la pantalla de inicio del simulador, luego mantenga presionado el ícono de la aplicación y presione App info, luego elija "DESINSTALAR".

  2. Ejecutar react-native run android.

Jamie Birch
fuente
0

Esto ocurre debido a la disponibilidad de la versión anterior de la Aplicación, que no está instalada en el dispositivo pero sus datos están presentes en la memoria del dispositivo. Por lo tanto, no puede actualizar los datos de esta aplicación desinstalada en el dispositivo.

Prueba esto :

Vaya a Configuración del dispositivo ==> Aplicaciones (Todas las aplicaciones) ==> busque su aplicación O busque ' cliente ' ==> En la pantalla de información de la aplicación , presione la opción de puntos triples en la esquina superior derecha ==> seleccione ' Desinstalar para todos los usuarios '==> aparece un mensaje, seleccione' Aceptar '

Me funciona cada vez que ocurre este error

Harshal Patil
fuente
0

En mi caso, el problema era que había instalado una aplicación con el nombre del paquete, digamos com.example.package usando Android Studio en mi dispositivo. Creé otra aplicación con el mismo nombre de paquete y estaba intentando instalarla en mi dispositivo. Eso es lo que estaba causando el problema. Así que solo verifique en su dispositivo si ya existe otra aplicación con el mismo nombre de paquete o no.

ANUJ GUPTA
fuente
-1

En mi caso, desinstalar la aplicación instalada en el dispositivo conectado resolvió mi problema

Long Nguyen
fuente
-5

Solo se puede abrir 1 emulador o dispositivo a la vez. Asegúrese de no tener varios emuladores en ejecución.

Plaimanus Lueondee
fuente