Error "Certificado de depuración caducado" en los complementos de Android Eclipse


1898

Estoy usando los complementos de Android Eclipse para construir un proyecto, pero recibo este error en la ventana de la consola:

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!

¿Cómo lo soluciono?


8
¿Alguien puede decir por qué sucede esto?
Matical

2
¿Cambió la fecha de su sistema, causa un certificado válido de 25 años (como se recomienda al firmar la solicitud)? su evento no tiene más de 5 años específicamente
Trikaldarshi

Necesita crear un nuevo almacén de claves
bynu022

Respuestas:


2241

Elimine su certificado de depuración ~/.android/debug.keystoreen Linux y Mac OS X ; El directorio es algo así como %USERPROFILE%/.androiden Windows .

El complemento Eclipse debería generar un nuevo certificado la próxima vez que intente crear un paquete de depuración. Es posible que deba limpiar y luego compilar para generar el certificado.


13
En Windows tuve que eliminar el debug.keystore y hacer algunos cambios para poner en marcha una nueva compilación. Creé un nuevo proyecto de prueba y se generó el nuevo debug.keystore.
Tomás

117
También se volverá a generar para el proyecto actual si 'limpia' el proyecto (vaya a Proyecto -> Limpiar ...)
adamnfish

11
Ahora hay un problema con el rastreador de errores que solicita que se solucione. Por favor vote por ello. code.google.com/p/android/issues/detail?id=15370
Manfred Moser

61
Clean no me solucionó el problema, necesitaba rm ~ / .android / debug.keystore a mano.
James Moore

3
@ James Eliminar el almacén de claves a mano es la primera parte de la respuesta anterior. Limpiar el proyecto (o la reconstrucción) es lo que debe hacer para generar un nuevo almacén de claves.
Christopher Orr

334

Tras la instalación, el SDK de Android genera un debugcertificado de firma para usted en un almacén de claves llamado debug.keystore. El complemento Eclipse utiliza este certificado para firmar cada compilación de aplicación que se genera.

Lamentablemente, un certificado de depuración solo es válido por 365 días. Para generar uno nuevo, debe eliminar el debug.keystorearchivo existente . Su ubicación depende de la plataforma: puede encontrarla en Preferencias - Android - Compilación - Almacén de claves de depuración predeterminado .


23
El 6 de abril de 2011 se aceptó un cambio para hacer los 30 años predeterminados: review.source.android.com/#change,22128
James Moore

Si elimina su debug.keystore, ¿cómo actualizaría su aplicación?
user739375

66
@ user739375, el debug.keystore solo se usa para la depuración, se usa un certificado separado para "producción".
Teo Klestrup Röijezon

@JamesMoore Realmente me sorprendió la antigüedad del certificado
Trikaldarshi

254

Es difícil tener que eliminar todos los archivos .apk de desarrollo, porque el nuevo certificado no coincide, por lo que no puede actualizarlos en todos sus AVD. También debe obtener otra clave de desarrollo MAP-API. Hay otra solución

Puede crear su propio certificado de depuración debug.keystorecon el vencimiento que desee. Haga esto en la .androidcarpeta debajo de su HOMEdirectorio:

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

keytool.exese puede encontrar en la carpeta bin JDK (por ejemplo, C:\Program Files\Java\jdk1.6.0_31\bin\en Windows).

ADT establece el nombre y apellido en el certificado como "Android Debug", la unidad organizativa como "Android" y el código de país de dos letras como "US". Puede dejar los valores de la organización, la ciudad y el estado como "Desconocidos". Este ejemplo usa una validez de 14000 días. Puedes usar el valor que quieras.


3
Me gusta esto porque proporciona una solución más a largo plazo hasta que el SDK proporciona una mejor manera de manejar el certificado que expira.
Sean Aitken

23
Me gusta esto porque no necesito usar eclipse en absoluto.
MattK

Supongo que esto se debe escribir debajo de la línea de comando. Si es así, aparece el error "no se reconoce la herramienta clave". ¿Puedes explicar más este método?
Ted Betz

1
keytool se puede encontrar en el directorio bin de su JDK (cualquier sistema operativo). Por lo general, agrego este directorio bin a mi RUTA para que lo anterior funcione desde cualquier lugar. Puede encontrar su directorio bin JDK y agregarlo a su RUTA, o puede poner el nombre de ruta completo a keytool en la línea de comando.
Dave MacLean el

1
Como han señalado otros comentaristas, Google parece haber extendido la duración predeterminada del certificado de depuración, por lo que eliminar el archivo debug.keystore y limpiar / construir es mucho más fácil.
Dave MacLean el

81

En Vista, esto funcionó:

  1. DOS: del c:\user\dad\.android\debug.keystore

  2. ECLIPSE: En Proyecto, Limpia el proyecto. Cierra Eclipse. Vuelva a abrir Eclipse.

  3. ECLIPSE: Inicie el emulador. Eliminar la aplicación del emulador.

Tú eres bueno para irte.

Estaba bastante preocupado cuando digo ese error, pero lo solucioné leyendo aquí y jugando durante 10 minutos.


68
  • Ventanas

Eliminar: debug.keystore ubicado en C:\Documents and Settings\\[user]\.android, Limpiar y construir su proyecto.

  • Windows 7 vaya C:\Users\[username]\.androidy elimine el archivo debug.keystore.

Limpia y construye tu proyecto.

  • MAC

Elimine su almacén de claves ubicado en ~/.android/debug.keystoreClean y cree su proyecto.

En todas las opciones si no puede obtener el nuevo debug.keystore simplemente reinicie eclipse.


56

En Windows 7 está en el camino

C:\Users\[username]\.android
  • Ir a este camino y eliminar debug.keystore
  • limpia y construye tu proyecto.

41

Si un certificado caduca en medio de la depuración del proyecto, debe hacer una desinstalación manual :

Por favor, ejecute adb uninstall <package_name>en un shell.


38

En una Mac, abra la Terminal (debe abrir el directorio del usuario actual), cd ".android" ("ls" para validar debug.keystore está allí). Finalmente "rm debug.keystore" para eliminar el archivo.


36

El SDK de Android genera un certificado de firma de "depuración" para usted en un almacén de claves llamado debug.keystore. El complemento Eclipse usa este certificado para firmar cada compilación de aplicación que se genera.

Lamentablemente, un certificado de depuración solo es válido por 365 días. Para generar uno nuevo, debe eliminar el debug.keystorearchivo existente . Su ubicación depende de la plataforma; puede encontrarla en Preferencias -> Android -> Compilar -> * Almacén de claves de depuración predeterminado.

Si está utilizando Windows, siga los pasos a continuación.

DOS: del c: \ user \ dad.android \ debug.keystore

Eclipse: En Proyecto, Limpia el proyecto. Cierra Eclipse. Vuelva a abrir Eclipse.

Eclipse: Inicie el emulador. Eliminar la aplicación del emulador.

Si está utilizando Linux o Mac, siga los pasos a continuación.

Eliminar manualmente debug.keystorede la .androidcarpeta.

Puede encontrar la .androidcarpeta así:home/username/.android

Nota: el .androidarchivo predeterminado estará oculto.

Haz clic en el menú de lugares. En seleccione la carpeta de inicio. Debajo de hacer clic en ver, debajo de hacer clic en mostrar archivos ocultos y luego la .androidcarpeta estará visible.

Eliminar debug.keystorede la .android folder.

Luego limpia tu proyecto. Ahora Android generará un nuevo .android folderarchivo.


34

Tuve este problema hace un par de semanas. Primero probé la solución de problemas en el sitio de desarrolladores de Android, pero sin suerte. Después de eso, reinstalé el SDK de Android, lo que resolvió mi problema.


33

Hmmm Es interesante ver cómo tantas personas han tenido experiencias ligeramente diferentes con esto. Recuerdo los días en que esto se consideraba una señal de que el software no estaba listo para su lanzamiento, y el equipo realmente lo arreglaría ANTES de que los usuarios comenzaran a ver estos problemas :(

Mi propia experiencia fue un poco diferente. Ya había intentado Proyecto> Limpiar, pero aún obtuve el mismo error de compilación. Luego eliminé el debug.keystore (bajo .android) tal como decía la primera respuesta. Aún tengo el mismo problema. Luego hice una limpieza otra vez, y maravilla de maravillas, ¡funcionó!

Ahora no me malinterpreten, me alegro de haberlo hecho funcionar gracias a las sugerencias en este hilo. Pero claramente clean no funciona bien, y ¿cómo encontró una clave caducada después de eliminar el almacén de claves? Claramente, algo está mal con Eclipse o el ADT, no estoy tan seguro de cuál.


Eclipse tiende a almacenar en caché los archivos, por lo que a veces se requiere una limpieza / actualización para informarle que el archivo ha cambiado en el disco.
navjotk

33

En Ubuntu, esto funcionó:

Fui home/username/.androidy me cambié el nombre keystore.debuga keystoreold.debug. Luego cerré Eclipse, comencé Eclipse y SDK creó un nuevo certificado keystore.debugen esa carpeta.

Luego debe desinstalar / reinstalar las aplicaciones que instaló a través de Depuración de USB o un APK sin firmar (APK "sin firmar" = firmado con certificado de depuración).


14

Para Windows XP, vaya C:\Documents and Settings\%userprofile%\.androidy elimine el archivo debug.keystore , reinicie el eclipse y ahora su proyecto se compila sin error.

Ruta de ejemplo:

C:\Documents and Settings\raja.ap\.android\

Leer aquí para más .


13

En Windows el debug.keystorearchivo se localiza en la C:\Users\%Username%\.androidcarpeta. Este archivo se crea cuando instala su SDK de Android y es válido solo por un año. Después de este perod comenzará a recibir este error Error getting final archive: Debug certificate expired on xx/xx/xxxx.

Para eliminar este error, simplemente elimine el archivo y vuelva a ejecutar el programa. En mi Eclipse lo he habilitado, Project->Build Automaticallypor lo que funcionó directamente, pero en caso de que lo haya deshabilitado, deberá limpiar el proyecto Project->Clean... seleccione su proyecto y presione OK. Entonces necesitarás construirlo manualmente. 3. Haga clic en su proyecto y seleccione Build project. (Nota: solo verá esta opción si ha marcado la función Generar automáticamente en el menú Proyectos)


13

Primero cierre el eclipse y luego

Abra CMD con Window Key + R o mediante Ejecutar como administrador

Sigue el siguiente paso

del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000

después de este reinicio eclipse.


7

Después de instalar Android SDK in Eclipse, genera un certificado de firma de depuración para usted en un almacén de claves llamado debug.keystore . El complemento Eclipse utiliza este certificado para firmar cada compilación de aplicación que se genera.

Ahora, el problema con este certificado de depuración es que solo es válido por un año o 365 días. If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app.

Para solucionar este problema, todo lo que necesita hacer es eliminar el archivo debug.keystore .

  1. Go to Preferences
  2. Android
  3. Build
  4. Default debug keystore

Allí debería ver la carpeta donde se encuentra el archivo. Simplemente elimine ese archivo y listo.

Para más información. puedes visitar

http://developer.android.com/tools/publishing/app-signing.html


0

Para solucionar este problema, simplemente elimine el archivo debug.keystore.

La ubicación de almacenamiento predeterminada para AVD es

En ~ / .android / en OS X y Linux.

En C: \ Documents and Settings \ .android \ en Windows XP

En C: \ Users \ .android \ en Windows Vista y Windows 7.

También vea este enlace, que puede ser útil.

http://developer.android.com/tools/publishing/app-signing.html

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.