Errore "Certificato di debug scaduto" nei plugin Android di Eclipse


1898

Sto usando i plug-in Eclipse Android per creare un progetto, ma visualizzo questo errore nella finestra della console:

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

Come lo aggiusto?


8
Qualcuno può dire perché questo accade?
Matical

2
La data del tuo sistema è cambiata, causa il suo certificato valido di 25 anni (come raccomandato durante la firma dell'applicazione). non è un evento di più di 5 anni in particolare
Trikaldarshi il

È necessario creare un nuovo keystore
entro

Risposte:


2241

Elimina il tuo certificato di debug ~/.android/debug.keystoresu Linux e Mac OS X ; la directory è qualcosa di simile %USERPROFILE%/.androidsu Windows .

Il plug-in Eclipse dovrebbe quindi generare un nuovo certificato al successivo tentativo di creare un pacchetto di debug. Potrebbe essere necessario pulire e quindi compilare per generare il certificato.


13
Su Windows ho dovuto eliminare debug.keystore e apportare alcune modifiche per avviare una nuova compilazione. Ho creato un nuovo progetto di test e è stato generato il nuovo debug.keystore.
Tomas,

117
Verrà inoltre rigenerato per il progetto corrente se "pulisci" il progetto (vai a Progetto -> Pulisci ...)
adamnfish

11
Ora c'è un problema con il tracker dei bug che richiede di risolvere questo problema. Per favore, vota per questo. code.google.com/p/android/issues/detail?id=15370
Manfred Moser

61
Clean non ha risolto il problema per me, avevo bisogno di rm ~ / .android / debug.keystore a mano.
James Moore,

3
@James L'eliminazione manuale del keystore è la prima parte della risposta sopra. La pulizia del progetto (o la ricostruzione) è ciò che è necessario fare per generare un nuovo keystore.
Christopher Orr,

334

Al momento dell'installazione, l'SDK di Android genera un debugcertificato di firma per te in un keystore chiamato debug.keystore. Il plug-in Eclipse utilizza questo certificato per firmare ogni build dell'applicazione generata.

Purtroppo un certificato di debug è valido solo per 365 giorni. Per generarne uno nuovo devi eliminare il debug.keystorefile esistente . La sua posizione dipende dalla piattaforma: puoi trovarla in Preferenze - Android - Build - Keystore di debug predefinito .


23
Il 6 aprile 2011 è stata accettata una modifica per rendere predefiniti 30 anni: review.source.android.com/#change,22128
James Moore,

Se elimini debug.keystore, come aggiorneresti l'applicazione?
user739375,

6
@ user739375, debug.keystore viene utilizzato solo per il debug, un certificato separato viene utilizzato per "produzione".
Teo Klestrup Röijezon,

@JamesMoore Mi sono davvero stupito che quanti anni avesse il certificato
Trikaldarshi,

254

È una seccatura dover eliminare tutti i tuoi file .apk di sviluppo, perché il nuovo certificato non corrisponde quindi non puoi aggiornarli in tutti i tuoi AVD. Devi ottenere anche un'altra chiave MAP-API di sviluppo. C'è un'altra soluzione.

Puoi creare il tuo certificato di debug debug.keystorecon qualunque scadenza tu voglia. Fallo nella .androidcartella sotto la tua HOMEdirectory:

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

keytool.exesi trova nella cartella bin JDK (ad es. C:\Program Files\Java\jdk1.6.0_31\bin\su Windows).

ADT imposta il nome e il cognome sul certificato come "Android Debug", l'unità organizzativa come "Android" e il codice paese di due lettere come "US". Puoi lasciare i valori di organizzazione, città e stato come "Sconosciuto". Questo esempio utilizza una validità di 14000 giorni. Puoi usare qualunque valore ti piaccia.


3
Mi piace perché fornisce una correzione più a lungo termine fino a quando l'SDK non fornisce un modo migliore per gestire il certificato in scadenza.
Sean Aitken,

23
Mi piace perché non ho bisogno di usare eclissi.
MattK

Suppongo che questo debba essere digitato nella riga di comando. In tal caso, viene visualizzato l'errore "Keytool non riconosciuto". Puoi spiegare ulteriormente questo metodo?
Ted Betz,

1
keytool si trova nella directory bin di JDK (qualsiasi sistema operativo). Di solito aggiungo questa directory bin al mio PERCORSO, quindi quanto sopra funzionerebbe da qualsiasi luogo. Puoi trovare la tua directory bin JDK e aggiungerla al tuo PERCORSO, oppure puoi mettere il percorso completo in keytool sulla riga di comando.
Dave MacLean,

1
Come hanno sottolineato altri commentatori, Google sembra aver prolungato la durata predefinita del certificato di debug, quindi eliminare il file debug.keystore e eseguire clean / build è molto più semplice.
Dave MacLean,

81

Su Vista, ha funzionato:

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

  2. ECLIPSE: nel progetto, pulire il progetto. Chiudi Eclipse. Riapri Eclipse.

  3. ECLIPSE: avvia l'emulatore. Rimuovere l'applicazione dall'emulatore.

Sei bravo ad andare.

Ero piuttosto preoccupato quando ho detto quell'errore, ma l'ho risolto leggendo qui e giocando per 10 minuti.


68
  • FINESTRE

Elimina: debug.keystore situato in C:\Documents and Settings\\[user]\.android, Pulisci e costruisci il tuo progetto.

  • Windows 7 va C:\Users\[username]\.androided elimina il file debug.keystore.

Pulisci e costruisci il tuo progetto.

  • MAC

Elimina il tuo keystore situato in ~/.android/debug.keystoreClean e crea il tuo progetto.

In tutte le opzioni se non riesci a ottenere il nuovo debug.keystore basta riavviare eclipse.


56

In Windows 7 è sul percorso

C:\Users\[username]\.android
  • vai su questo percorso e rimuovi debug.keystore
  • pulisci e costruisci il tuo progetto.

41

Se un certificato scade durante il debug del progetto, è necessario eseguire una disinstallazione manuale :

Si prega di eseguire adb uninstall <package_name>in una shell.


38

Su un Mac, apri il Terminale (la directory dell'utente corrente dovrebbe aprirsi), cd ".android" ("ls" per convalidare debug.keystore è lì). Finalmente "rm debug.keystore" per rimuovere il file.


36

L'SDK di Android genera un certificato di firma "debug" in un keystore chiamato debug.keystore. Il plug-in Eclipse utilizza questo certificato per firmare ogni build dell'applicazione che viene generata.

Purtroppo un certificato di debug è valido solo per 365 giorni. Per generarne uno nuovo, è necessario eliminare il debug.keystorefile esistente . La sua posizione dipende dalla piattaforma: puoi trovarla in Preferenze -> Android -> Crea -> * Keystore di debug predefinito.

Se si utilizza Windows, attenersi alla seguente procedura.

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

Eclipse: in Project, Clean the project. Chiudi Eclipse. Riapri Eclipse.

Eclipse: avvia l'emulatore. Rimuovere l'applicazione dall'emulatore.

Se si utilizza Linux o Mac, attenersi alla seguente procedura.

Elimina manualmente debug.keystoredalla .androidcartella.

Puoi trovare la .androidcartella in questo modo:home/username/.android

Nota: il .androidfile predefinito verrà nascosto.

Quindi fai clic sul menu dei luoghi. In selezionare la cartella principale. Sotto clic su Visualizza, sotto clic mostra i file nascosti e quindi la .androidcartella sarà visibile.

Elimina debug.keystoreda .android folder.

Quindi ripulisci il tuo progetto. Ora Android genererà un nuovo .android folderfile.


34

Ho avuto questo problema un paio di settimane fa. Ho provato prima la risoluzione dei problemi sul sito degli sviluppatori Android, ma senza fortuna. Successivamente ho reinstallato l'SDK di Android, che ha risolto il mio problema.


33

Hmmm. Interessante sapere quante persone hanno avuto esperienze leggermente diverse con questo. Ricordo i giorni in cui questo era considerato un segno che il software non era pronto per il rilascio e il team lo avrebbe risolto PRIMA che gli utenti iniziassero a vedere questi problemi :(

La mia esperienza è stata solo un po 'diversa. Avevo già provato Project> Clean, ma avevo ancora lo stesso errore di compilazione. Quindi ho eliminato debug.keystore (sotto .android) proprio come diceva la prima risposta. Ha ancora lo stesso problema. Poi ho fatto di nuovo una pulizia, e meraviglia delle meraviglie, ha funzionato!

Ora non fraintendetemi, sono contento di averlo fatto funzionare grazie ai suggerimenti di questo thread. Ma chiaramente pulito non funziona correttamente e come ha trovato una chiave scaduta dopo aver eliminato il keystore ??? Chiaramente qualcosa non va in Eclipse o nell'ADT - non sono sicuro di quale.


Eclipse tende a memorizzare nella cache i file, quindi a volte è necessario un clean / refresh per far sapere che il file è cambiato sul disco.
navjotk,

33

Su Ubuntu, ha funzionato:

Sono andato a home/username/.androided ho rinominato keystore.debuga keystoreold.debug. Ho quindi chiuso Eclipse, avviato Eclipse e SDK ha creato un nuovo certificato keystore.debugin quella cartella.

È quindi necessario disinstallare / reinstallare le app installate tramite debug USB o un APK non firmato (APK "non firmato" = firmato con certificato di debug).


14

Per Windows XP vai a C:\Documents and Settings\%userprofile%\.androided elimina debug.keystore file , riavvia l'eclissi e ora il tuo progetto viene senza errori.

Percorso di esempio:

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

leggi qui per ulteriori informazioni .


13

Nel debug.keystorefile di Windows è localtes nella C:\Users\%Username%\.androidcartella. Questo file viene creato quando si installa l'SDK Android ed è valido solo per un anno. Dopo questo perod inizierai a ricevere questo erroreError getting final archive: Debug certificate expired on xx/xx/xxxx .

Per rimuovere questo errore è sufficiente eliminare il file ed eseguire nuovamente il programma. Nel mio Eclipse ho abilitato in Project->Build Automaticallymodo che funzionasse direttamente ma nel caso in cui tu l'abbia disabilitato dovrai pulire il progetto Project->Clean.. seleziona il tuo progetto e premi ok. Quindi dovrai crearlo manualmente. 3 ° clic sul progetto e seleziona Build project. (Nota: vedrai questa opzione solo se hai attivato la funzione Costruisci automaticamente nel menu Progetti)


13

Prima chiudi l'eclissi poi

Apri CMD con il tasto Finestra + R o tramite Esegui come amministratore

Segue il passaggio seguente

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

dopo questo riavvio eclissi.


7

Dopo aver installato Android SDK in Eclipse, genera un certificato di firma debug per te in un keystore chiamato debug.keystore . Il plug-in Eclipse utilizza questo certificato per firmare ogni build dell'applicazione generata.

Ora, il problema con questo certificato di debug è che è valido solo per un anno o 365 giorni. If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app.

Per risolvere questo problema, è sufficiente eliminare il file debug.keystore .

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

Lì dovresti vedere la cartella in cui si trova il file. Basta eliminare quel file e sei a posto.

Per maggiori informazioni. Puoi visitare

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


0

Per risolvere questo problema, è sufficiente eliminare il file debug.keystore.

Il percorso di archiviazione predefinito per gli AVD è

In ~ / .android / su OS X e Linux.

In C: \ Documents and Settings \ .android \ su Windows XP

In C: \ Users \ .android \ su Windows Vista e Windows 7.

Vedi anche questo link, che può essere utile.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.