2014-03-06 5 views
6

So heute habe ich endlich mein SDK auf 22.0.0 aktualisiert, aber dies schafft einen Fehler in der AndroidManifest.xml für android:debuggable="false" was bedeutet, dass ich nicht mehr extern signieren und zipalign meine eigenen apks.Wie kann ich einen Android Keystore von einem key.pk8 und certificate.pem erzeugen?

Ich habe unter Verwendung meiner eigenen key.pk8 und certificate.pem signiert, jedoch benötigt Eclipse ADT einen Keystore.

Kennt jemand eine Möglichkeit, entweder einen Schlüsselspeicher mit meinem bereits generierten Schlüssel zu erstellen oder einen Weg zu finden?

+0

Sie können es mit Keytool importieren. Werfen Sie einen Blick auf: $ keytool -help – betorcs

+0

Ok Also ich habe Keytool verwendet, um einen neuen Keystore zu erstellen und das Zertifikat darin zu verschieben. Wenn ich jedoch versuche, den Schlüsselspeicher in ADT zu verwenden, um zu versuchen, eine Anwendung zu signieren, kann ich meinen Schlüssel sehen und mein Passwort eingeben, aber nichts passiert. Keine Bewegung vorwärts, aber auch kein Fehler. Irgendwelche Ideen? –

+0

Hallo Entschuldigung für die Verzögerung zu antworten, ich war aus. Versuchen Sie, alle Dinge aus Ihrem Keystore aufzulisten, um sicher zu sein, dass es da ist: keytool -v -list -keystore [keystore_path] – betorcs

Antwort

32

Ok, also habe ich es schließlich geschafft, das Problem zu lösen.

ich heruntergeladen openssl für Fenster aus here

Keytool bei E:\Program Files\Java\jdk1.7.0_17\bin gefunden werden kann

Dann keytool und OpenSSL verwaltet die key.pk8 und certificate.pem in einen Schlüsselspeicher Eintrag bauen

openssl pkcs8 -inform DER -nocrypt -in key.pk8 -out key.pem 

openssl pkcs12 -export -in certificate.pem -inkey key.pem -out platform.p12 -password pass:android -name mykey 

keytool -importkeystore -deststorepass password -destkeystore .keystore -srckeystore platform.p12 -srcstoretype PKCS12 -srcstorepass android 

keytool -list -v -keystore .keystore 

Der letzte Schritt besteht darin, zu überprüfen, ob der Schlüssel dem Keystore hinzugefügt wurde.

+1

Gut gemacht @Sam Shute – betorcs

+1

ausgezeichnet. Du rettest mir ein paar Häuser. – Yeung

+0

Im ersten Schritt, wenn die Eingabe-PK8-Datei ein Passwort hat, entfernen Sie die Option "-nocrypt", openssl wird zur Eingabe des Passworts aufgefordert. –