Aplicación de Android no instalada. Ya está instalado un paquete existente con el mismo nombre con una firma en conflicto

131

En mi emulador, cuando intento hacer una actualización de mi apk mediante programación. Yo obtengo:

Android App Not Install.

An existing package by the same name with a conflicting signature is already installed

ingrese la descripción de la imagen aquí

Todavía estoy en la fase de prueba de esta actualización, por lo que el archivo que descargo es un apk firmado de una versión anterior, que creo que debería funcionar sin ningún problema.

De la sugerencia en: un paquete existente con el mismo nombre con una firma confusa ya está instalado . Intenté ejecutar el emulador tanto en modo de depuración como en modo normal ... ninguno funcionó.

¿Alguna idea sobre lo que me estoy perdiendo?

James Oravec
fuente
1
use la misma firma para firmar el apk antes de instalar
Praveen Sharma
Este problema se genera debido a que la firma o el archivo Key-store no coinciden. Encuentre el enlace para la solución: readyandroid.wordpress.com/…
Listo para Android

Respuestas:

97

El problema son las claves que se han utilizado para firmar los APK, de forma predeterminada si está ejecutando directamente desde su IDE y abriendo su emulador, el APK instalado en el emulador está firmado con su clave de depuración (generalmente instalada en ~ / .android /debug.keystore), por lo que si el APK anterior se firmó con una clave diferente a la que está usando actualmente, siempre obtendrá el conflicto de firmas, para solucionarlo, asegúrese de estar utilizando la misma clave para firmar ambos APK, incluso si el APK anterior se firmó con una clave de depuración de otro SDK, las claves definitivamente serán diferentes.

Además, si no sabe exactamente qué clave se utilizó antes para firmar el apk y, sin embargo, desea instalar la nueva versión de su aplicación, puede desinstalar la aplicación anterior y volver a instalar la nueva.

Espero que esto ayude...

¡Saludos!

Martín Cazares
fuente
Voy a hacer que un desarrollador no firme la apk y haré una descarga / instalación manual dentro del emulador. El emulador debería descargar la otra apk no firmada por el desarrollador e intentar hacer la actualización. Si esto funciona, aceptaré tu respuesta. Thx
James Oravec
@MartinCazares ¿hay alguna forma de obtener la clave apk? entonces no pierdo los datos de mi aplicación?
Heisenberg
Bueno, si instaló la aplicación, debería tener la clave, de lo contrario, ¿cómo firmaría el apk? Si el apk anterior no fue creado por usted, entonces debe pedirle al desarrollador de ese apk la clave, aparte de eso no hay forma de obtener la clave que se usó para firmar un apk ...
Martin Cazares
¡Muchas gracias por esto! ¡Me salvaste el día y mi equipo! Jaja
perozzo
1
Tengo una aplicación en VIVO en la tienda de juegos, ahora mantuve instalada esa aplicación en el dispositivo de prueba y ahora Para actualizar la versión más nueva de la aplicación, estoy actualizando "versionno" y "versionname" en el archivo build.gradle de la aplicación. Ahora he realizado una compilación de lanzamiento con clave firmada, ahora mientras estoy tratando de instalar esa compilación a través de un error ::: Un paquete existente con el mismo nombre con una firma en conflicto ya está instalado. Y no se instala también. Amablemente ayuda.
Tarit Ray
195

Recibí el mismo mensaje de error, pero estas respuestas no me ayudaron. En un 4.3 nexus 7, estaba usando un usuario que NO era el propietario. Había desinstalado la versión anterior pero seguía recibiendo el mismo mensaje.

Solución: tuve que iniciar sesión como propietario e ir a Configuración -> Aplicaciones, luego deslizarme a la pestaña Todos. Desplácese hacia abajo hasta el final de la lista donde las versiones anteriores se enumeran con una marca 'no instalado'. Selecciónelo y presione el botón 'configuración' en la esquina superior derecha y finalmente 'desinstalar para todos los usuarios'

Αλέκος
fuente
2
Tuve que pasar de "Descargado" a la lista "Todos" para encontrarlo en la lista de aplicaciones.
ShawnFeatherly
1
Como mencionas, asegúrate de desplazarte hasta la parte inferior: las aplicaciones "no instaladas" no aparecen en orden alfabético.
jmcmann
3
¡¡¡GRACIAS!!! Este también fue mi problema después de prestar mi prueba Nexus 7 a un amigo. Pensé que mis claves estaban dañadas ... Eliminé ese usuario solo para reducir la confusión futura.
mm2001
1
Me salvó el tiempo. Prestigio.
Piyush Patel
2
Gracias. Tuve que iniciar sesión en todos los usuarios y desinstalar 1 por 1.
Ricardo
8
 Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.

ingrese la descripción de la imagen aquí

Vaya a Configuración> Aplicaciones, busque y abra la información de la aplicación. Luego, abra el menú de desbordamiento (3 puntos verticales) y elija Desinstalar para todos los usuarios.

Keshav Gera
fuente
Esto me ayudó, gracias. Por alguna razón, tuve dos versiones de mi aplicación que aparecieron allí incluso después de desinstalarla a través de mi pantalla de inicio.
Joro Tenev
Gracias Joro Tenev Voting Me
Keshav Gera
5

Hay una diferencia entre los archivos APK firmados y sin firmar. Lo más probable es que hayas firmado anteriormente sin firmar. Solo necesita eliminar el sin firmar antes de instalar la versión firmada. La forma en que esto se puede lograr varía según la versión exacta, pero en general, vaya al emulador a configuración-> aplicación, haga clic largo en su aplicación y elimínela / elimínela / desinstálela.

PearsonArtPhoto
fuente
Haré un apk sin firmar y descargaré el apk sin firmar y veré si eso lo resuelve, si lo hace, entonces puedo probar las aplicaciones firmadas con hardware. Aceptaré la respuesta si este es el caso.
James Oravec
Estoy tratando de hacer la actualización desde mi programa, así que hacer la desinstalación / instalación manual no funcionará.
James Oravec
Cuando hice la instalación de la aplicación sin firmar, simplemente recibí app not installed. Verifiqué la configuración del emulador y lo Allow installation of apps from unknown sourcescomprobé. Entonces, esta no parece ser la solución.
James Oravec
dándole un voto positivo por las sugerencias. Creo que nos ayudó a llegar a la solución final. ¡Gracias!
James Oravec
5

Si está utilizando la apk de depuración, la clave que se utiliza para firmarla está en

C:\Users\<user>\.android\debug.keystore

Si usa esa misma clave, no debería haber un conflicto al instalar.

Santiago
fuente
Muchas gracias Santiago, el último día cambié el disco duro de mi máquina de una unidad mecánica a una unidad de estado sólido, por lo tanto, necesito actualizar mi Windows, estaba enfrentando el mismo problema y luego copié el archivo debug.keystore de la carpeta de Windows anterior a la nueva carpeta de Windows el problema se resuelve :)
Arslan Sohail
Gracias por la respuesta, porque realmente resolvió mi problema, estoy programando con un amigo y tuvimos este problema con frecuencia, ahora que estamos compartiendo la clave de depuración, todo está bien.
Gustavo Magalhães
5

Si las soluciones anteriores no funcionaron para usted, es posible que tenga que hacer algo de la siguiente manera ...

1) instalar la aplicación desde la tienda de aplicaciones.
2) actualizándolo con el signo APK con la misma versión actualizada del nombre del paquete.

Básicamente, hay dos tipos de APK.

1) subiste a la tienda de juegos conocida como APK original.
2) descargar desde la tienda de juegos conocida como APK derivado.

En este caso, básicamente está descargando apk derivado y actualizándolo con el APK original.

Para que funcione bien, cargue el nuevo APK lanzado y firmado en el modo de prueba interna en Google Play Store y descargue el APK derivado para verificar el escenario de actualización.

ingrese la descripción de la imagen aquí

Wahab Khan Jadon
fuente
2

Si usa varios usuarios en Android, verifique que la aplicación esté desinstalada en todas partes.

Martin Koubek
fuente
Muy similar a la respuesta popular stackoverflow.com/a/20084044/4136325 anterior, ¿no crees?
Thomas Weller
1
sí, este es el truco: la desinstalación de la aplicación para todos los usuarios
Martin Koubek
1

Tuve un problema en el que tanto la depuración como la versión de lanzamiento no se instalan en los dispositivos que utilicé para la depuración. El mismo mensaje aparecerá cuando intente instalar la nueva versión. La única solución era desinstalar la versión actual e instalar la nueva.

Parece que Android Studio marca el apk que instala para que la instalación utilizando los gestores de paquetes distinga entre la versión instalada para la depuración y las versiones descargadas de Google Play u otras fuentes externas (esto nunca me sucedió al usar eclipse).

Hermano de alma funk
fuente
1

Puede ser que la aplicación no se desinstale correctamente. Si su dispositivo es este caso, puede probar este método.

Primero obtenga el nombre del paquete de la aplicación, por ejemplo, 'com.xxx.app', puede usar Root Explorer y encontrarlo en el archivo Manifiesto (RE puede decodificar el archivo). entonces puedes usar este script para desinstalarlo:

adb shell pm uninstall com.xxx.app // replace to package name that you want to remove
dos veces yuanes
fuente
1

Mismo error de paquete:

  1. Cree un nuevo paquete en su aplicación con un nombre diferente.
  2. Copie y pegue todo el archivo en su paquete anterior al paquete nuevo.
  3. Guardar código
  4. Eliminar paquete antiguo y limpiar y reconstruir proyecto.
VIJAY RAVAL
fuente
1. Muy 2. corto 3. podría 4. usar 5. explicación.
Yunnosch
1

ingrese la descripción de la imagen aquíTuve que iniciar sesión como propietario e ir a Configuración -> Aplicaciones, luego deslizar a la pestaña Todos. Desplácese hacia abajo hasta el final de la lista donde las versiones anteriores se enumeran con una marca 'no instalado'. Selecciónelo y presione el botón 'configuración' en la esquina superior derecha y finalmente 'desinstalar para todos los usuarios'

Ashish Kumar
fuente
Eso funcionó para mí, pero ... ahora, cuando la descargo de mi sitio web, la aplicación no se descarga (al menos a la carpeta Descargar). No se informaron errores. Simplemente no sucede. Cuando conecto mi teléfono a mi computadora, puedo copiar el APK en el teléfono e instalarlo sin reportar errores.
Ron
0

Puede haber otra razón por la cual su aplicación no se actualizará cuando cambie / agregue / elimine shareId en AndroidManifiest.

"android: sharedUserId"

Por favor, compruebe eso también.

Para evitarlo, recomendaría usar sharedUserId en su aplicación a pesar de sus requisitos actuales que necesita o ahora.

Pawan Maheshwari
fuente
0

Intenté todo lo anterior y no funcionó.

Descubrí que, a pesar de desinstalar la aplicación, una nueva versión de la aplicación sigue dando el mismo error.

Esto es lo que lo resolvió: vaya a Configuración -> General -> Administrador de aplicaciones -> elija su aplicación -> haga clic en los tres puntos en la parte superior -> desinstalar para todos los usuarios

Una vez que haga esto, ahora está realmente desinstalado y ahora permitirá que se instale su nueva versión.

Espero que esto ayude.

FelixFelicis
fuente