La aplicación de Android no se instala. Un paquete existente con el mismo nombre con una firma en conflicto ya está instalado
En mi emulador, cuando intento hacer una actualización de mi apk mediante programación. Yo obtengo:
Android App Not Install.
- Auto-actualización de la aplicación de Android
- Descargar programaticamente APK de la tienda de Google Play
- ¿Qué es el error INSTALL_PARSE_FAILED_NO_CERTIFICATES?
- Silent install apk programmatically by system app (sin root)
- Android Lollipop - PackageInstaller.Session commit ()
An existing package by the same name with a conflicting signature is already installed
Todavía estoy en la fase de pruebas 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 por el mismo nombre con una firma confilcting ya está instalado Intenté ejecutar el emulador tanto en modo de depuración como en modo normal … ni funcionó.
¿Alguna idea de lo que me falta?
- ¿Cómo tener depuración y liberación de apk en el mismo dispositivo?
- Que apk se ejecuta en el dispositivo Android iónico
- Cambiar el nombre del paquete de una aplicación Android actualizada
- Divida la aplicación de Android en dos partes
- Actualización de la aplicación en ejecución en Android
- ¿Cómo hacemos APK firmado para Google Play Store?
- ¿Cómo puedo hacer que android elimine las bibliotecas nativas antiguas?
- Instalar apk en segundo plano utilizando busybox
El problema son las claves que se han utilizado para firmar los APK, por defecto si se está ejecutando directamente desde su IDE y la apertura de su Emulador, el APK instalado en el Emulador está firmado con su debug-key (normalmente instalado en ~ / .android /debug.keystore), por lo que si el APK anterior se firmó con una clave distinta a la que está utilizando actualmente siempre obtendrá el conflicto de firmas, para poder solucionarlo, asegúrese de que está utilizando la misma tecla para firmar Ambos APK, incluso si el APK anterior se firmó con una clave de depuración de otro SDK, las claves sin duda 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!
Tuve el mismo mensaje de error, pero estas respuestas no ayudaron. En un nexo 7,3, estaba usando un usuario que no era el propietario. Yo había desinstalado la versión anterior, pero seguí recibiendo el mismo mensaje.
Solución: Tuve que iniciar sesión como propietario e ir a Configuración -> Aplicaciones, luego pase a la pestaña Todas. Desplácese hacia abajo hasta el final de la lista, donde las versiones antiguas se enumeran con una marca "no instalado". Selecciónelo y presione el botón 'settings' en la esquina superior derecha y finalmente 'uninstall para todos los usuarios'
Hay una diferencia entre los archivos APK firmados y sin firmar. Lo más probable es que había un unsigned en allí anteriormente. Sólo tiene que eliminar el sin firmar antes de instalar la versión firmada. ¿Cómo se puede lograr esto varía en la versión exacta, pero en general, ir en el emulador a la aplicación settings->, haga clic en su aplicación, y eliminar / quitar / desinstalar.
Si está utilizando el apk de depuración, la clave que se utiliza para firmar es
C:\Users\<user>\.android\debug.keystore
Si utiliza la misma clave, no debe haber un conflicto durante la instalación.
Si utiliza varios usuarios en android, verifique que la aplicación se haya desinstalado en todas partes.
Tuve un problema en el que la compilación de depuración y lanzamiento no se instalaría en los dispositivos que utilizaba para depurar. El mismo msg aparecería al intentar 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ó cuando se utiliza eclipse).
Si no desea molestarse con el archivo de almacén de claves, simplemente quite el paquete por completo para todos los usuarios.
Conecte su dispositivo con Mac / PC y ejecute adb uninstall <package>
Trabajó para mí.
Puede ser la aplicación no es desinstalar 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 buscarlo desde el archivo Manifest (RE puede decodificar el archivo). Entonces puede usar este script para desinstalarlo:
adb shell pm uninstall com.xxx.app // replace to package name that you want to remove
Puede haber otra razón para que su aplicación no se actualice cuando cambie / agregue / quite shareId en AndroidManifiest.
"Android: sharedUserId"
Por favor, compruebe que también.
Para evitar recomendamos usar sharedUserId en su aplicación a pesar de que en su requisito actual necesita o ahora.
- Uso de tipos de compilación en Gradle para ejecutar la misma aplicación que utiliza ContentProvider en un dispositivo
- Reproducir archivo de audio desde el directorio de activos