Saltar al contenido

Error Android – Certificado diferente al intentar reinstalar la aplicación en el emulador o el teléfono

Soluciona el error de Android «Re-installation failed due to different application signatures»: desinstala la app o copia el debug.keystore en Eclipse.

Ramón Invarato

Cuando se intenta ejecutar sale el siguiente error:

Re-installation failed due to different application signatures.

You must perform a full unistall of application. WARNING: this will remove the application data!

Please execute 'adb unistall X' in a shell.

Launch canceled!

Captura de la consola de Eclipse con el error de reinstalación por firmas de aplicación distintas

Puede deberse a que la aplicación se usa en diversos equipos o que se ha renovado el certificado. Pero seguro que es porque los certificados no coinciden (no coincide con el de la versión previamente instalada y el que se quiere instalar). Suele pasar si se quiere lanzar la misma aplicación pero desde un proyecto diferente o movido.

Este error puede provenir de diferentes fuentes. Se van a dar solución a cada una.

Solución por renovación de certificado

 

Modo A (recomendado): Desinstalando la aplicación del Emulador y volviéndola a ejecutar desde el Eclipse (Ajustes/Aplicaciones/Administrar aplicaciones).

Modo B (solo si no te importa perder todos los datos del emulador o del dispositivo físico, no se puede deshacer): Borrando el emulador y volviéndolo a crear. Si es un teléfono: borrando todos los datos del teléfono y volverlo a dejar como estaba desde un principio (Ajustes/Privacidad/Restablecer Datos de fábrica).

Solución por cambio de equipo o por haber movido el proyecto

 

Si vamos a mover el proyecto de un equipo a otro, lo que tenemos que hacer para no tener problemas es lo siguiente.

En el antiguo equipo vamos a "Windows / Preferences".

Captura del menú Window de Eclipse con la opción Preferences resaltada

En la barra de la derecha seleccionamos "Android / Build" y miramos la ruta donde esté la keystore en "Default debug keystore".

Captura de Preferences en Android > Build con la ruta de Default debug keystore resaltada

Vamos a dicha carpeta y copiamos el "debug.keystore" al nuevo equipo (por ejemplo al escritorio del nuevo equipo).

Captura de la carpeta .android con el archivo debug.keystore resaltado para copiarlo al nuevo equipo

En el Eclipse del nuevo equipo volvemos a «Windows / Preferences» y a «Android / Build». En el campo «Custom debug keystore» seleccionamos la keystore que hemos traído del antiguo equipo. Pulsamos «OK».

Captura de Preferences en Android > Build con el campo Custom debug keystore y el botón OK resaltados

Ejecutando de nuevo la aplicación debería de funcionar.

Nota: si da otros fallos por el certificado, miramos que no sea por certificado caducado.

«Error Android – Certificado diferente al intentar reinstalar la aplicación en el emulador o el teléfono», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Ramón Invarato

Diseño y construyo plataformas de datos y sistemas inteligentes, y me motiva compartir esa experiencia aquí.

Te puede interesar

Cómo solucionar errores en Android

Recopilación de soluciones a errores habituales al programar en Android con Eclipse: problemas con el ADT y el SDK, adb, el emulador, certificados y librerías.

23 Jun 2012

Comentarios (4)

  1. luis

    Hola, no encuentro en las carpetas donde se encuentra android.keystrore
    Me podrias indicar la ruta, porfavor???

    1. Ramón Invarato Jarroba.com

      Buenas Luís,

      Como pone en el artículo, suele estar en: C:Userstu nombre de usuario.androiddebug.keystore

  2. Jorge

    Hola.

    Como puedo recupera el debug.keystore borrado accidentalmente.
    tengo un apk previamente generado con dicho debug.keystore, es posible crear de nuevo el debug.keystore original usando certificado interno de dicho apk?

    Agradecido por sus comentarios

    1. Ramón Invarato Jarroba.com

      Buenas Jorge,

      no se puede hacer ingeniería inversa desde el APK sacar el certificado y mucho menos el keystore, es una medida de seguridad para que nadie pueda copiar una keystore.

      De todas maneras, el debug.keystore es el almacenamiento de certificados para desarrollo, por lo que generando uno nuevo te sirve. Si lo que necesitas es recuperar el certificado de una app que has subido a Google play, no hay manera, hay que generar uno nuevo y cambiar la aplicación de la market, por tanto no se podrá actualizar la apk anterior pero sí crear una nueva.

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.