2010-12-08 10 views
18

Weiß jemand wie (und wenn) Sie das Passwort ändern können, um Android Builds zu signieren?Ändern der android signing key password

Wir haben eine Live-App, aber möchten das Signaturkennwort ändern. Das Problem ist, dass wir unsere Nutzer nicht dazu zwingen wollen, die App neu zu installieren (wenn wir einen neuen Schlüssel verwenden, können die Benutzer das neue Build nicht als Update für die ursprüngliche App installieren).

Ich habe die gesamte Android-Dokumentation durchgesehen, konnte aber nichts finden, was mit dem Thema zu tun hat (außer einen neuen Schlüssel zu erstellen ...).

Antwort

22

Eigentlich ist dies möglich:

keytool -storepasswd -keystore my.keystore 
+1

Obwohl ich das Update nicht mehr brauche, bin ich sicher, dass du ein Held für viele Entwickler bist! : D –

+0

@Thomas Vervest - das ist ** NOT ** eine Antwort auf Ihre Frage. Dies wird bestenfalls das Passwort ändern, das in nachfolgenden Kompilationen verwendet werden würde, die von der Entwicklungskonfiguration, auf der es ausgeführt wird, ausgeführt werden. Es wird nichts tun, um Ihr Problem der bestehenden Installationen unter dem alten Schlüssel zu helfen. –

+0

Bitte erklären Sie, ändert das Ändern des Passworts den Signierungsschlüssel (macht es zu einem "neuen" Schlüssel)? –

4

Dies ist nicht möglich. Es ist der Signaturschlüssel, der Sie als den ursprünglichen Autor und nicht als Betrüger identifiziert. Die Frage "Wie stelle ich meinen verlorenen Schlüssel wieder her?" Kommt häufig vor, und die einzige Antwort besteht darin, mit einer neuen Anwendung zu beginnen.

Wenn Sie immer noch den ursprünglichen Signaturschlüssel haben, können Sie ein Update für Ihre Anwendung veröffentlichen, das die von Ihrem Programm verwendeten Benutzerdaten exportiert und dann eine neue App unter einem neuen Schlüssel veröffentlicht, der sie importieren kann. d können ihre Daten behalten. Ihr Migrationsupdate unter dem alten Schlüssel könnte sogar eine Absicht verwenden, um den Benutzer zur Marktdownloadseite für die neue Anwendung zu senden.

+0

Ich hatte Angst, dass das der Fall war ... Ah gut, ich denke, wir müssen nur so etwas dann tun. Vielen Dank für Ihre Antwort und Ihre Ideen zur Problemumgehung. –

+3

@Chris stimme ich nicht zu. Der private Schlüssel wird in einer verschlüsselten Datei namens "KeyStore" gespeichert und das Kennwort, das jeder zum Signieren von APKs verwendet, ist nicht das Kennwort des privaten Schlüssels: Es ist nur das Kennwort, das diese KeyStore-Datei entschlüsseln kann, damit Sie auf Ihren privaten Schlüssel zugreifen können . Wenn Sie dieses Passwort kennen, können Sie einfach auf Ihren privaten Schlüssel zugreifen und ihn mit einem neuen Passwort für Ihren KeyStore schützen (siehe andere Antworten auf Basis von 'keytool'). Und das Ändern des Passworts macht es nicht zu einem neuen Schlüssel. Also ist die App in Ordnung und die App-Nutzer auch. – xav

15

Sie das key Passwort ändern können, wenn Sie das alte Passwort haben. Was Sie ausführen müssen, ist der folgende Befehl:

keytool -keypasswd -alias "key_alias" -keypass "old_pass" -new "new_pass" -keystore "your_keystore_path"