2012-08-04 9 views
5

sto cercando di caricare la mia app Android per Google Play mercato e ottengo l'errore:Android - l'apk deve essere firmato con gli stessi certificati della precedente versione

the apk must be signed with the same certificates as the previous version 

La cosa divertente è che io sono utilizzando la chiave di volta originale con le password originali, quindi sono confuso su cosa potrebbe causare questo problema.

1) Ho fatto passare il mio Mac OS X a Lion, che a 64 bit il sistema operativo mi sembra il precedente sistema operativo a 32 bit. Potrebbe essere il problema?

2) Ho aggiornato gli strumenti Android: Eclipse, SDK e Java prima di creare questa nuova versione dell'app. Potrebbe essere il problema?

3) Ho anche provato a fare funzionare

jarsigner -verify -verbose -certs 

sulla vecchia versione dell'app che è su Google Play e la nuova app e il certificato orari validi sono gli stessi.

4) Ho creato il nuovo APK sia manualmente che utilizzando Esporta applicazione Android in Eclipse.

5) manualmente Ho creato l'APK da all'interno di Eclipse utilizzando `

Android Tools -> Export Unsigned Application and then using 
jarsigner -verbose -keystore mykeystore.keystore app.apk companyName 
/Developer/android-sdk-mac_86/tools/zipalign -v 4 app.apk app_aligned.apk 

Quindi non credo che il problema è che sto utilizzando l'archivio chiavi sbagliato. Ho letto che questo problema potrebbe anche essere causato da

A) Cercando di caricare un apk di debug invece di un apk di rilascio.

B) Avere il nome del pacchetto errato nel manifest.

C) Non incrementare il versionCode e versionName.

Ci sono altre cose che potrebbero causare questo problema oltre all'utilizzo della chiave di volta errata?

+0

possibile duplicato di [L'apk deve essere firmato con gli stessi certificati della versione precedente] (http://stackoverflow.com/questions/4843212/the-apk-must-be-signed-with-the-same- certificates-as-the-previous-version) –

+0

Puoi leggere http://developer.android.com/tools/publishing/app-signing.html, ma quando hai eseguito l'upgrade hai fatto il backup della tua chiave in anticipo? –

+0

Non penso che sia una domanda doppia perché ho la chiave di volta originale. –

risposta

1

Bene nel mio caso risulta che stavo usando il keystore sbagliato. Quello che mi ha portato a realizzare questo era in esecuzione

jarsigner -verify -verbose -certs android_app 

sul app precedente e nuovo e ottenere un nome di file diverso per ogni CERT.RSA.

Quindi ho scavato un po 'e ho trovato un altro keystore, che si è rivelato essere quello giusto.

+0

Ho il mio vecchio keystore, come posso firmarlo usando quello invece di quello sbagliato? Non vedo l'opzione su Eclipse. – dee