2012-03-20 20 views
22

El mismo proyecto de Android está construido en modo de depuración, a veces con Eclipse, a veces con ant (en la máquina de compilación).INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES en adb install

Si yo instalo la primera acumulación de hormigas y, a continuación, tratar de iniciar la depuración de Eclipse, la consola muestra Eclipse

[2012-03-20 13:32:26 - miproyecto] Re-instalación falló debido a diferentes firmas de aplicaciones. [2012-03-20 13:32:26 - myproject] Debe realizar una desinstalación completa de la aplicación. ADVERTENCIA: ¡Esto eliminará los datos de la aplicación!
[2012-03-20 13:32:26 - myproject] Ejecute 'adb uninstall com.myproject' en un shell. [2012-03-20 13:32:26 - myproject] ¡Lanzamiento cancelado!

Si hago esto al revés, es decir, depurar con Eclipse (incluye instalar el apk) y luego intenta instalar la acumulación de hormigas desde la línea de comandos, me sale:

Error [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES ]

¿Qué pasa con mis certificados/firma?

+0

posible duplicado de [Cómo tratar con INSTALAR \ _PARSE \ _FAILED \ _INCONSISTENT \ _CERTIFICATES sin unins Tallation] (http://stackoverflow.com/questions/3185444/how-to-deal-with-install-parse-failed-inconsistent-certificates-without-uninstal) – ForeverLearning

Respuesta

15

El problema es que los archivos apk (durante la compilación Eclipse y ant) ​​se han firmado con diferentes certificados. Para hacer que las firmas consistente entre generaciones que se han construido en diferentes máquinas, colocar el almacén de claves de depuración en el control de versiones:

Esto es útil si tiende a realizar construcciones cruzadas desde su propia máquina y máquina de creación.

+0

Tengo el mismo problema, pero está en la misma máquina , proyecto y directorio. Es como si la hormiga y el eclipse no estuvieran utilizando el mismo almacén de claves (de depuración) ... solía funcionar, pero actualicé a Android Tools 20 recientemente. –

1

Abra las Preferencias de Eclipse. Abra la sección de Android en la lista de la izquierda. Seleccione el área "Crear" en Android Al lado de "Depuración personalizada" vaya al almacén de claves en su instalación de Android SDK, NO el que Eclipse ha seleccionado en su directorio particular.

Ahora la construcción y el eclipse de la hormiga android están utilizando el mismo almacén de claves.

1

En IntelliJ aunque puede seleccionar un almacén de claves de depuración para depurar la firma de sus aplicaciones, no puede ingresar la contraseña de keystore o keypassword. Puede exportar sus certificados de versión e importarlos a su almacén de claves de depuración y cambiar el keystore y las contraseñas de claves a "android". He preparado instrucciones paso a paso para ello: http://www.denizoguz.com/2013/01/12/failure-install_parse_failed_inconsistent_certificates/

46

Para mí, el problema era que tenía la misma aplicación ya instalada con otra clave.Desinstalar la aplicación antigua resuelve el problema, como se ha señalado aquí:

https://stackoverflow.com/a/10280878

26

El viejo APK instalado tiene certificado diferente que el nuevo va a ser instalados o que ya está instalada en su dispositivo con una clave diferente. Esto significa que su aplicación se instaló previamente desde una máquina diferente que le dio credenciales diferentes.

Así que la solución es:

uninstall the existing .apk

y luego

re-install the new .apk

+0

¡Gracias funcionó! –

0

Si su sistema de construcción es Gradle, sólo tiene que utilizar el comando follwong desinstalarlo en Windows:

.\gradlew.bat uninstallDebug 

o en Linux:

./gradlew uninstallDebug 

Y luego:

./gradlew install 

Esta es una verificación de certificación para la instalación y desinstalación en el mismo paquete en el Android. Si está utilizando dos PC de construcción diferentes (computadora) conectadas con el mismo teléfono, obtendrá este error cuando conecte su teléfono con esas diferentes PC. La mejor opción es vincular una PC con un teléfono físico.

+0

¿Tiene algo que ver con la pregunta? – techraf

0

otra solución Incremente su código de versión en el archivo de su solicitud build.gralde

defaultConfig { 
     ... 
     versionCode 1 
     ... 
    } 

defaultConfig { 
     ... 
     versionCode 2 
     ... 
    } 

Sincronizar ahora enter image description here

Construir Proyecto limpia

Ejecutar su aplicación