oreo - android pie
Cómo lidiar con INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES sin desinstalación (15)
Cambié el nombre del paquete mientras codificaba una actualización para poder depurarlo en mi dispositivo a través de Eclipse, sin eliminar la versión anterior que estaba instalada. Sin revertir el nombre del paquete que estaba usando al intentar reinstalar, recibí el mismo error. Usando el mismo nombre del paquete, la reinstalación fue exitosa.
Intenté reinstalar un apk
$adb install -r new.apk
Y muestra el error:
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
Una solución es desinstalar e instalar el nuevo.apk, que funciona bien.
Pero me pregunto si podría reconstruir un apk y reinstalarlo sin la desinstalación. P.ej. cambie alguna configuración en el AndroidManifest.xml, o no firme el APK, etc.
Le agradecería que me dijera todo el significado de "INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES".
Dado que la verificación se basa en el nombre del paquete, puede cambiar el nombre del paquete dentro de su config.xml o archivo de manifiesto por otro nombre que desee.
Cuando publiques tu aplicación no olvides volver a cambiar el nombre!
Este es el comando para desinstalar la aplicación del dispositivo usando adb:
adb uninstall <package name>
Esto me sucedió cuando otro desarrollador del equipo construyó nuestra aplicación en el dispositivo de hardware que estaba intentando implementar. Desinstalar la aplicación del hardware solucionó mi problema.
Hoy he tenido el mismo error, pero el problema no era exactamente el mismo. Estoy usando ADB con Android instalado en VirtualBox . Intenté instalar diferentes versiones de mi aplicación (firmada / no firmada, modo de depuración / lanzamiento) y obtuve dos errores alternativamente: INSTALL_FAILED_UID_CHANGED
y INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
.
Ahora, al mirar /data/data/{package.name}
, encontré un montón de archivos que aún estaban allí después de desinstalar la aplicación. Intenté rm -rf
sin éxito: obtuve errores de E / S.
La solución a esto fue:
- Apagar la máquina virtual
- Monte la imagen VDI con
vdfuse
(lectura / escritura) - Repare el archivo de imagen
Partition1
cone2fsck
- Umount y reinicie la máquina virtual
Me encontré con esto mientras probaba en un nuevo Xoom. Había instalado previamente mi aplicación desde el Marketplace. Más tarde, mientras intentaba probar una nueva versión de la aplicación, me encontré con este error.
Lo arreglé eliminando la aplicación que se instaló a través de Marketplace (solo sostenga y arrastre a la papelera). Después de eso pude implementar mi versión de desarrollo sin ningún problema.
Me enfrenté a otro caso de uso donde obtuve el error similar. Cuando al principio recibí el error, entré en pánico y /data/data/{package.name}
Después de eso, lo intenté y mi problema seguía presente. Entonces intenté desinstalar, falló.
Luego eliminé el archivo apk presente en /system/app
(se requiere acceso a la raíz), e intenté desinstalarlo y fue exitoso.
Después de eso intenté reinstalar el apk, funcionó.
Nada de arriba funcionó para mí. El problema para mí fue que tenía una fuente incorrecta en mi ruta de compilación de Java para android-support-v7-appcompat. Cuando vaya a Proyecto> Crear ruta> Configurar ruta de compilación>. En la pestaña Fuente, asegúrese de tener android-support-v7-appcompat / gen, android-support-v7-appcompat / libs y android-support-v7-appcompat / src y nada más. Haga clic en Aceptar y debería funcionar.
Por lo que vale la pena, me encontré con este problema después de agregar un nuevo complemento a mi proyecto de Cordova. Había estado haciendo edificaciones de Córdova e instalándolas directamente en el dispositivo a través de USB.
Lo arreglé al desinstalar la aplicación del dispositivo y en la siguiente implementación no hubo problemas.
Recibí este error incluso después de desinstalar el APK original, lo cual fue desconcertante. Finalmente, me di cuenta de que había configurado varios usuarios en mi Nexus 7 para las pruebas y que la aplicación aún estaba instalada para uno de los otros usuarios. Una vez que lo desinstalé para todos los usuarios el error desapareció.
Si encuentra un despliegue fallido en un dispositivo o emulador Andorid con el error "Error [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]" en la ventana de resultados, simplemente elimine la aplicación existente en el dispositivo o emulador y vuelva a desplegar. Las compilaciones de depuración utilizarán un certificado de depuración, mientras que las compilaciones de lanzamiento usarán su certificado configurado. Este error simplemente le permite saber que el certificado de la aplicación instalada en el dispositivo es diferente al que está intentando instalar. En los escenarios de no desarrollo (tienda de aplicaciones), esto puede ser un indicador de una aplicación dañada o modificada que no es seguro instalar en el dispositivo.
Significa que la nueva copia de su aplicación (en su máquina de desarrollo) fue firmada con una clave de firma diferente a la copia antigua de su aplicación (instalada en el dispositivo / emulador). Por ejemplo, si se trata de un dispositivo, es posible que haya colocado la copia antigua desde una máquina de desarrollo diferente (p. Ej., Otra máquina de otro desarrollador). O bien, el anterior se firma con su clave de producción y el nuevo se firma con su clave de depuración.
Simplemente borre la compilación anterior del dispositivo y vuelva a instalarla. Debido a que device.keystore ya existe en el dispositivo, simplemente desinstale la compilación y vuelva a instalar el APK.
Gracias
Tuve el mismo problema hasta que me di cuenta de que tenía el simulador en ejecución y adb intentaba instalarlo en ese
Tuve este problema tratando de ejecutar la tarea gradle connectedDebugAndoidTest
(o connectedAndroidTest
) en Genymotion . Ejecutarlo en el emulador normal solucionó el problema.