Wie gehe ich mit einem verlorenen KeyStore-Passwort in Android um?

97

Ich habe mein Keystore-Passwort vergessen und weiß nicht mehr, was ich tun soll (ich kann oder will keine Ausreden dafür geben). Ich möchte meine App aktualisieren, weil ich gerade einen Fehler behoben habe, der aber nicht mehr möglich ist. Was passiert, wenn ich denselben Keystore verwende, aber einen neuen Schlüssel erstelle? Kann ich die App weiterhin aktualisieren und wenn dies nicht möglich ist, wie kann ich den Benutzern Informationen über die aktualisierte Version geben?

Welchen Rat können Sie geben, um Abhilfe zu schaffen, wenn jemand ein solches Problem hatte oder auf Probleme gestoßen ist? Zum Glück ist es eine kostenlose App.

irobotxx
quelle
Zach Klippenstein auf Google+ hatte das gleiche Problem wie Sie. Sie können dem Thread hier folgen .
Freiberuflicher PHP-Programmierer
Wenn Sie React Native verwenden, finden Sie es in gradle.properties
colemerrick

Antworten:

43

Siehe diesen Link

Es ist bedauerlich, aber wenn Sie Ihren Schlüsselspeicher oder das Kennwort für Ihren Schlüsselspeicher verlieren, ist Ihre Anwendung verwaist. Sie können Ihre App nur unter einem neuen Schlüssel erneut auf den Markt bringen.

Sichern Sie IMMER Ihren Keystore und notieren Sie die Passwörter an einem sicheren Ort.

Zebaz
quelle
Das Beste, was ich tun kann, ist, einfach eine andere Version der Anwendung hochzuladen und zu versuchen, eine Beschreibung aus dem Titel oder der vorherigen App oder ähnlichem zu geben. richtig?
Irobotxx
1
Veröffentlichen Sie einfach Ihre aktuelle App und ersetzen Sie sie durch eine neue Version mit demselben Titel und derselben Beschreibung. Wir hoffen, dass Ihre Benutzer sie irgendwann finden.
Stellen
Sie haben 3 Versuche, es richtig zu machen. Wenn Sie sich beim dritten Versuch irren, müssen Sie den Assistenten schließen und erneut öffnen. Selbst wenn Sie beim 4. Versuch das richtige Passwort eingeben, wird Ihnen mitgeteilt, dass es falsch ist. Ich habe dies herausgefunden, indem ich versucht habe, Keytool über die Befehlszeile auszuführen und das Wiederholungslimit einzuhalten.
Der Muffin-Mann
@Zebaz Wenn ich mein Keystore-Passwort verloren habe, kann ich es einfach per Bundle hochladen? oder brauche ich dafür auch das passwort?
Ponomarenko Oleh
Fast hätte ich das getan, bis ich mich daran erinnerte, dass ich meine Daten auf key.properties hatte.
John
219

Ich bin gerade auf dieses Problem gestoßen - zum Glück konnte ich das Passwort in einer temporären Datei von Gradle finden. Nur für den Fall, dass jemand hier landet:

Versuchen Sie, nach dieser Datei zu suchen

..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin

or

.gradle/3.5/taskHistory/taskHistory.bin
.gradle/5.1.1/executionHistory/executionHistory.bin
.gradle/caches/5.1.1/executionHistory/executionHistory.bin

und suchen nach

storePassword

Es war dort im Klartext. Wenn Sie sich mindestens einen Teil Ihres Passworts merken, suchen Sie im Allgemeinen nach einer Datei, die diesen Teilstring enthält, und Sie werden hoffentlich etwas herausfischen.

Wollte es hier rauswerfen, vielleicht hilft es irgendwann jemandem.


Bearbeiten: Neue Erkenntnisse aus Kommentaren hinzugefügt, um besser sichtbar zu sein.

Vielen Dank an Vivek Bansal, Amar Ilindra und Usbekjon für diese.

ElDoRado1239
quelle
33
Geben Sie diesem Mann eine Medaille ... Damit andere das Passwort schneller finden: Suchen Sie einige Male nach ".keyPassword" und Sie werden Ihr Passwort sehen. Vielen Dank @ EldoRado1239 :)
Kermia
9
versuchen Sie .storePassword
Vivek Bansal
6
Wenn Sie unter OSX / Linux arbeiten, können Sie dies ausführen, um die gespeicherten Kennworteinträge einfach strings taskArtifacts.bin | grep storePassword -A1 abzurufen : Übrigens, danke ElDoRado1239 - Sie haben mir gerade viel Zeit gespart.
James Nick Sears
4
Falls Sie den obigen Pfad nicht finden können, versuchen Sie diesen ..Project \ .gradle \ 3.5 \ taskHistory \ taskHistory.bin
Amar Ilindra
2
Hilfe Ich kann eines der genannten Verzeichnisse in 5.1.1gradle finden
James Christian Kaguo
43

Falls ein falsches Passwort auch nur einmal angegeben wird, heißt es bei den nächsten Versuchen immer wieder:

Keystore manipuliert oder Passwort falsch.

Auch wenn Sie die richtige angeben. Ich habe es mehrmals versucht, vielleicht ist es eine Art Schutz.
Schließen Sie den Exportassistenten und starten Sie ihn erneut mit dem richtigen Passwort, jetzt funktioniert es :)

Fr3eSKo
quelle
8
Was meinst du mit "Schließen des Export-Assistenten"
Sagar Chavada
Was ist der Exportassistent?
Jigar Fumakiya
38

Brute ist die beste Wahl!

Hier ist ein Skript, das mir geholfen hat:

https://code.google.com/p/android-keystore-password-recover/wiki/HowTo

Sie können es optional eine Liste von Wörtern geben das Passwort könnte für eine umfassen sehr schnell erholen (für mich gearbeitet in <1 sec)

Artur
quelle
Leider hat es bei mir nicht funktioniert. Ich gab eine Liste von Wörtern und fand später heraus, dass es drei dieser Wörter in einer bestimmten Reihenfolge waren, aber ich musste es selbst herausfinden. Vielen Dank für das Teilen, froh, dass es anderen Menschen geholfen hat
Teo Inke
Es hat bei mir einwandfrei funktioniert! nur 10 sek mit dem richtigen wörterbuch
gyss
Es hat funktioniert, um das Passwort für den Schlüssel im Inneren wiederherzustellen, aber was kann ich tun, wenn ich auch das Passwort für den Keystore selbst verloren habe? @ Kiruwka sagte, das sei kein Problem in seiner Antwort ... meinte er es tatsächlich so?
SebasSBM
25

Gehen Sie zu taskHistory

Endlich habe ich die Lösung gefunden, nachdem ich zwei Tage verbracht habe ...

Folge diesen Schritten:

  1. Zum Projekt gehen
  2. In .gradle finden Sie Ihren Gradle-Versionsordner in meinem Fall war es 4.1 (siehe Bild)
  3. Erweitern Sie den Ordner 4.1, und im Ordner taskHistory finden Sie die Datei taskHistory.bin.
  4. Öffnen Sie die Datei taskHistory.bin in Android Studio.
  5. Suchen Sie nach ".storePassword". Damit haben Sie Ihr Keystore-Passwort erhalten.

Das hat wirklich bei mir funktioniert.

Versuchen Sie dies und viel Spaß beim Codieren !!!

Arjun G.
quelle
Unter Android 3.5.3 enthält die .bin-Datei leider keine relevanten Informationen.
RominaV
19

Auf einem MAC starten Sie das Dienstprogramm Console und scrollen Sie nach unten zu ~ / Library / Logs -> AndroidStudio -> idea.log.1 (oder einer beliebigen alten Protokollnummer). Dann habe ich nach "keystore" gesucht und es sollte irgendwo in den Protokollen erscheinen.

Ursprüngliche Frage: Link

Georgi Koemdzhiev
quelle
Dies hat mir bei einem Kunden das Leben gerettet - alle anderen Optionen waren nicht verfügbar, da wir ein Schluck-Skript in Kombination mit einer Cordova / Phonegapp-Anwendung verwendet haben
rarspace01
Ich konnte es nicht mit "keystore" finden, sondern mit "key.password"
ceed
17

LÖSUNG 2019 (Windows, Android Studio 3.3, Gradle 4.10):

Diese Lösung funktioniert nur, wenn das Kontrollkästchen "Kennwort speichern" zuvor aktiviert war.

Erstens gibt es taskArtifacts.bin für diese Version von gradle nicht und idea.log zeigt Sternchen für Passwörter an. Dies waren alte Lösungen, die für mich nicht funktionierten.

Wo ich die Klartext-Passwörter gefunden habe: C: \ Benutzer \ {Benutzername} \ AndroidStudioProjects \ {Projekt} \ App \ Build \ Intermediates \ Signing_Config \ Release \ Out \ Signing-Config.json

Schlüssel: mStorePassword und mKeyPassword.

Ich hoffe wirklich, dass es jemand anderem hilft.

Daniel Nascimento
quelle
Beeindruckend! Es funktioniert auch in Ubuntu! Ich weiß nicht, wie ich dir danken soll!
زياد
Kann bestätigen, dass es noch auf AS 3.5.3 funktioniert - danke!
RominaV
17

In der Tat ist das Verlieren der keystore passwordkein Problem.
Mit dem folgenden keytoolBefehl können Sie einen neuen Schlüsselspeicher erstellen und ein neues Kennwort dafür festlegen . Sie benötigen dafür kein Original-Keystore-Passwort:

keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore

Wenn Sie dazu aufgefordert werden, erstellen Sie ein Passwort für Ihr new.keystoreund das Quell-Keystore-Passwort (das Sie verloren haben) . Drücken Sie einfach die Eingabetaste .
Sie erhalten eine Warnung, dass die Integrität nicht überprüft wurde, und Sie erhalten Ihren new.keystore, der mit dem Original mit dem neu festgelegten Kennwort identisch ist.

Der Grund, warum dies funktioniert, wird keystore passwordnur verwendet, um die Integrität des zu gewährleisten keystore. Es verschlüsselt keine Daten damit, im Gegensatz dazu private key password, wodurch Ihr privater Schlüssel tatsächlich verschlüsselt bleibt.

Bitte beachten Sie, dass Sie wissen müssen, wie Sie private key passwordIhre Apps signieren. Nun, wenn es dasselbe ist wie vergessen keystore password, können Sie auf Bruteforce zurückgreifen, wie in der Antwort von @ Artur.

Dieser Ansatz hat bei mir immer funktioniert.

kiruwka
quelle
Ich habe es versucht und Sie müssen ein Passwort für das Ziel eingeben. Wenn Sie die Eingabetaste gedrückt halten, werden Sie aufgefordert, es nach 3 Versuchen erneut zu versuchen.
Der Muffin-Mann
@ TheMuffinMan sorry, habe dein Problem nicht ganz verstanden. Haben Sie es geschafft, einen neuen Keystore mit einem neuen Keystore pw zu erstellen?
Kiruwka
1
Dadurch erhalte ich einen neuen Schlüsselspeicher, aber wenn ich versuche, diesen neuen Schlüsselspeicher zu verwenden, wird die Fehlermeldung angezeigt jarsigner: key associated with mykey-release not a private key. Vermisse ich etwas
Phihag
@phihag Ich stehe vor dem gleichen Problem. Bitte haben Sie eine Lösung gefunden?
Teddy Kossoko
13

Ich denke, ich muss eine Antwort darauf geben, weil dies nicht nur in Kommentaren sein kann. Wie @ ElDoRado1239 in seiner Antwort sagt (vergessen Sie nicht, seine Antwort zu verbessern;)

  • Sucht ..Project\.gradle\2.4\taskArtifacts\taskArtifacts.binin meinem Fall war in, ..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.binweil ich benutzegradle 2.2.1
  • Dann suchen Sie nach storePasswordwie @Moxet Khan in Kommentaren sagt ... in meinem Fall war an der ReihesigningConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias

Hoffe jemand anderem zu helfen !!!

Gueorgui Obregon
quelle
12

Glücklicherweise habe ich mein verlorenes Passwort zusammen mit dem Keystore-Pfad und dem Aliasnamen in meinen Android Studio-Protokollen gefunden.

Wenn Sie Linux / Unix-basierte Computer ausführen.

Navigieren Sie zum Verzeichnis Library Logs

cd ~/Library/Logs/

Wenn Sie sich an Ihre Android Studio-Version erinnern, mit der Sie die letzte APK-Version erstellt haben. Navigieren Sie zu diesem Verzeichnis

Beispiel: CD AndroidStudio1.5 /

Dort finden Sie die Protokolldateien. In jeder der Protokolldateien (idea.log) finden Sie Ihre Keystore-Anmeldeinformationen

Beispiel

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

Ich hoffe, dies hilft für Android Studio-Benutzer

Ajanthan Mani
quelle
11
Ich denke, dass dies unter AndroidStudio3.0 nicht funktioniert. Alle Informationen werden als ******* mit der gleichen Länge für das Keystore-Passwort und das Schlüsselpasswort angezeigt.
TheLearner
Genau hier habe ich mein Passwort gefunden, danke für den Beitrag. Ich habe auch die Antwort oben bearbeitet. Diese beiden Speicherorte sind Retter. Ich hoffe, dass das Keystore Tool in Android Studio den Benutzer in Zukunft warnt, das Kennwort so zu speichern, wie es ein oder zwei Jahre später für eine weitere Version benötigt wird.
MG Developer
11

Es mag etwas spät sein, aber es wird jemandem auf jeden Fall helfen. Sie können nach einem Passwort suchen, wenn Sie sich an etwas erinnern, das Sie andernfalls suchen möchten

signingConfig.storePassword

Auch wenn Sie den Schlüsselalias vergessen haben, finden Sie hier auch Suchanfragen wie " signingConfig.keyAlias"

Project.gradle \ 3.3 \ taskArtifacts \ taskArtifacts.bin

Hoffe es wird jemandem helfen

Ghanshyam Nayma
quelle
9

Für alle anderen, die darauf stoßen, wollte ich eine Antwort teilen, die für Sie oder für andere, die diesen Artikel durchsuchen (wie ich), der Fall sein kann.

Ich verwende Eclipse und habe darin meinen Keystore für meine Version 1.0 erstellt. Schneller Vorlauf 3 Monate und ich wollte es auf 1.1 aktualisieren. Als ich in Eclipse Export ... und diesen Schlüsselspeicher auswählte, funktionierte keines meiner Passwörter, an die ich mich erinnern konnte. Jedes Mal, wenn es heißt "Keystore manipuliert oder Passwort falsch." Es kam zu einem Punkt, an dem ich mich darauf vorbereitete, ein Brute-Force-Programm darauf durchzuführen, solange ich stehen konnte (ungefähr eine Woche), um zu versuchen, es zum Laufen zu bringen.

Zum Glück muss ich meine nicht signierte APK-Datei außerhalb von Eclipse signieren. Voila - es hat funktioniert! Mein Passwort war die ganze Zeit korrekt! Ich bin mir nicht sicher warum, aber das Signieren in Eclipse über das Exportmenü hat einen Fehler gemeldet, selbst wenn mein Passwort korrekt war.

Wenn Sie diesen Fehler erhalten, sind hier meine Schritte (aus der Android-Dokumentation ), die Ihnen helfen, Ihre apk für den Markt vorzubereiten.

HINWEIS: So rufen Sie unsignierte apk von Eclipse ab: Klicken Sie mit der rechten Maustaste auf Projekt> Android Tools> Nicht signierte Anwendung exportieren

  1. Signieren Sie eine nicht signierte apk-Datei mit dem Keystore

    ein. Öffnen Sie die Administrator-Cmd-Eingabeaufforderung und gehen Sie zu "c: \ Programme \ Java \ jdk1.6.0_25 \ bin" oder zu einer beliebigen Java-Version (wo Sie die nicht signierte APK-Datei und Ihren Keystore kopiert haben).

    b. Geben Sie an der Eingabeaufforderung cmd mit der Keystore-Datei und der nicht signierten apk im selben Verzeichnis den folgenden Befehl ein: jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore

    c. Es wird angezeigt: "Geben Sie die Passphrase für den Keystore ein:". Geben Sie es ein und drücken Sie die Eingabetaste.

    d. ===> Erfolg sieht so aus:

    adding: META-INF/MANIFEST.MF
    ...
    signing: classes.dex

    e. Die nicht signierte Version wird an Ort und Stelle überschrieben, sodass Ihre signierte APK-Datei jetzt denselben Dateinamen wie die nicht signierte hat

  2. Verwenden Sie ZipAlign, um die signierte apk-Datei für die Verteilung auf dem Markt zu komprimieren

    ein. Öffnen Sie die Eingabeaufforderung admin cmd und gehen Sie zu "c: \ AndroidSDK \ tools" oder wo immer Sie das Android SDK installiert haben

    b. Geben Sie diesen Befehl ein: zipalign -v 4 signiert.apk signiertaligned.apk

    c. ===> Erfolg sieht so aus:

    Verifying alignment of signedaligned.apk (4)
    50 META-INF/MANIFEST.MF (OK - compressed)
    ...
    1047129 classes.dex (OK - compressed)
    Verification succesful

    d. Die signierte und ausgerichtete Datei befindet sich unter signiertaligned.apk (der Dateiname, den Sie im vorherigen Befehl angegeben haben).

========> BEREIT, DEN MARKTPLATZ EINZULEGEN

ckbhodge
quelle
Der Grund, warum Sie eine Fehlermeldung erhalten haben, dass das Kennwort falsch ist, ist, dass das implizit festgelegte Keyalg / Sigalg / Digestalg falsch war. Unterschiedliche Versionen von Java haben unterschiedliche Standardeinstellungen für diese Werte.
Will Vanderhoef
Ich war verdammt angespannt, als Eclipse mein Passwort ablehnte, aber es funktionierte, als ich es mit deinem Weg versuchte, danke!
Hardik4560
9

Nachdem Sie fast einen Tag lang nach möglichen Optionen für die Wiederherstellung des verlorenen Keystore-Passworts in Android Studio gesucht haben. Ich habe die folgenden 4 Möglichkeiten gefunden:

  1. Verwenden Sie AndroidKeystoreBrute , um Ihr Passwort abzurufen. Diese Methode ist sehr nützlich, wenn Sie Ihr Passwort teilweise vergessen haben. Dies bedeutet, dass Sie immer noch einige Hinweise auf Ihr Passwort im Kopf haben.

  2. Sie können es auch über Android Studio-Protokolldateien abrufen, wenn Sie die App (für die Sie das Keystore-Kennwort finden) zuvor auf demselben Computer freigegeben haben. Beziehen Sie sich auf das folgende Verzeichnis:

    Mac OS X

    ~ / Library / Logs / AndroidStudio / idea.log.1

    Linux (möglicher Standort)

    / home / benutzername / AndroidStudio / system / log

    Windows (Möglicher Standort)

    C: \ Benutzer \ Benutzername \ AndroidStudio \ System \ Protokoll

    und suchen Sie Pandroid.injected.signing.key.passwordinnerhalb der Datei. Das Kennwort wird angezeigt, wenn Sie die App zuvor mit derselben Android Studio-Version signiert haben, nach der Sie gerade suchen.

  3. Sie können das Kennwort auch über das .gradle-Verzeichnis Ihres Projekts abrufen. Suchen Sie nach dem folgenden Pfad

    project_directory / .gradle / 2.4 / taskArtifacts / taskArtifacts.bin.

    Hinweis: Dies scheint bei neueren Versionen von Gradle (2.10 und höher) nicht zu funktionieren.

  4. Wenn keine der oben genannten Lösungen funktioniert, können Sie diese ausprobieren. Für diese Lösung benötigen Sie jedoch auch die Android Studio IDE-App oder die Einstellungen, in denen Ihr Projekt-Keystore-Kennwort zuvor gespeichert wurde (Verwenden der Option Kennwort speichern zum Zeitpunkt der Unterzeichnung des App). Sie können die IDE-Einstellungen über den folgenden Pfad abrufen:

    Mac OS X

    ~ / Library / Logs / AndroidStudio / idea.log.1

    Linux (möglicher Standort)

    / home / benutzername / AndroidStudio

    Windows (Möglicher Standort)

    c: \ user \ username \ .AndroidStudio

    Verwenden Sie einfach die ältere Android Studio-IDE, wenn Sie die Einstellungen der alten IDE haben oder in eine neue IDE importieren, und legen Sie die Keystore-Datei in den gleichen Pfad wie zuvor, als Sie sie signiert hatten, und speichern Sie das Kennwort beim letzten Mal.

    Auf diese Weise können Sie nach dem Öffnen des Projekts das Build-> Generate Signed APK ausprobieren und die Keystore-Datei vom älteren Speicherort auswählen. Das Kennwort wird automatisch abgerufen und die signierte APK wird weiterhin zur Freigabe generiert.

    Sobald die Release-APK erfolgreich generiert wurde, können Sie die zuvor erwähnte Option 2 befolgen, um Ihr Kennwort aus Ihrer Protokolldatei für die kürzlich generierte Release-APK zu überprüfen.

EEJ
quelle
Die Suche in den Protokollen half wie ein Zauber. Danke, du hast meine Ruhe gerettet
rommex
Ich habe die idea.log.1 gefunden. Wie kann ich es öffnen?
KZoNE
Ihr seid Lebensretter. Ich habe meine in idea.log.12 gefunden - öffne sie einfach als txt!
Victor R. Oliveira
7

Laden Sie zuerst AndroidKeystoreBrute_v1.05.jar herunter und folgen Sie dann dem angegebenen Bild.Geben Sie hier die Bildbeschreibung ein

Bereiten Sie eine Wordlist-Datei wie (wordlist.txt) vor, in dieser Datei geben Sie Ihren Hinweis wie

Passwort Hinweis:

Benutzer

Benutzer

Passwort

Passwort

pa55word

Passwort

@

* *

#

$

&

1

2

123

789

Sie erhalten Ihr Passwort.

Srinivas Keerthiprakasam
quelle
Hallo, ich bekomme kein Ergebnis. Bitte helfen Sie
Nimisha V
@NimishaV welches Problem Sie konfrontiert
Srinivas Keerthiprakasam
7

Der einfachste Weg, um ein Keystore-Passwort zu erhalten

Projektordner \ App \ Build \ Intermediate \ Signing_Config \ Release \ Out \ Signing-Config.json

Überprüfen Sie diese Dateisuche nach StorePassword in signing-config.json

{"mName":"externalOverride","mStoreFile":"C:\\Users\\dAvInDeR\\Desktop\\KEYSTORE\\keystore.jks","mStorePassword":"1234@#abcd","mKeyAlias":"uploadkey","mKeyPassword":"1234@#abcd","mStoreType":"jks","mV1SigningEnabled":false,"mV2SigningEnabled":false}

Hoffe voll und ganz, es wird dir helfen.

dAv dEv
quelle
2
Dies ist buchstäblich das letzte Passwort, das Sie versucht haben, könnte Benutzer ein anderes Passwort versucht haben. Dann bekommen sie das falsche Passwort
Amir Dora
Es ist nur das zuletzt generierte APK-Passwort und die ganze Zeit wird diese JSON-Datei geändert, während Sie eine neue APK generieren
Tarit Ray
Das hat mir den Tag gerettet!
Chathurika Senani
Du hast mich wirklich gerettet!
Benhar Upasana
5

Dies als weitere Möglichkeit hinzufügen. Die Antwort liegt möglicherweise direkt vor Ihrer Nase - in der build.gradle-Datei Ihrer App, wenn Sie in der Vergangenheit zufällig eine Signaturkonfiguration angegeben haben:

signingConfigs {
    config {
        keyAlias 'My App'
        keyPassword 'password'
        storeFile file('/storefile/location')
        storePassword 'anotherpassword'
    }
}

Fühlst du dich glücklich?!

ScottyB
quelle
3

Ich hatte sofort das gleiche Problem. Auch wenn es bei der App-Signatur von Google Play nicht so wichtig ist, den Keystore oder das Kennwort zu verlieren wie früher, bevorzugen wir es als Entwickler, das Kennwort zu ändern und eine generierte Keystore-Datei zu verwenden, ohne einige Tage auf Google zu warten, um damit umzugehen. (Um dieses Problem mit Google zu beheben, verwenden Sie diesen Link , um eine Anfrage zu stellen.) Um dieses Problem selbst zu beheben, laden Sie zunächst zwei Java-Dateien von diesem Link herunter . Kompilieren Sie dann die Datei ChangePassword.java per javac ChangePassword.javaBefehl. Dann, nachdem Sie laufen können

java ChangePassword <oldKeystoreFileName.keystore> <newKeystoreFileName.keystore>

Ändern Sie oldKeystoreFileName.keystore mit dem Pfad / Namen Ihrer aktuellen Keystore-Datei und newKeystoreFileName.keystore mit Pfad / Name für die neu generierte neue Keystore-Datei. Dies wird Sie zu fördern

Geben Sie das Keystore-Passwort ein:

. Geben Sie einfach ein, was Sie bevorzugen :) Es muss nicht das ursprüngliche Passwort sein, das verloren gegangen ist. Geben Sie dann das neue Passwort mit * ein

neues Keystore-Passwort:

  • Voila, das war's. Dies ändert nichts an der Prüfsumme Ihres Keystores und verursacht keine Probleme beim Signieren oder Hochladen von Apps auf play.google-Ereignisse.
SIW
quelle
@SIW, ich ändere mein Passwort, indem ich einen neuen Keystore mit dem alten mit ChangePassword erstelle. Wenn ich unterschreiben möchte, habe ich einen mit meinem Alias
verknüpften
3

Öffnen taskHistory.binund suchen nachstorePassword

MANOJ YADAV
quelle
In dieser Datei wird nichts mit "storePassword" in Verbindung gebracht
Tarit Ray
3

Wenn Sie Ihre App von einem PC aus erstellen können, sich aber nicht an das Kennwort erinnern, können Sie das Kennwort wie folgt abrufen:

Methode 1:

Fügen Sie in Ihrem build.gradle println MYAPP_RELEASE_KEY_PASSWORDFolgendes hinzu:

signingConfigs {
    release {
        if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
            println MYAPP_RELEASE_KEY_PASSWORD
        }
    }
}

Danach laufen cd android && ./gradlew assembleRelease

Methode 2:

Führen Sie keytool -list -v -keystore your <.keystore file path>zB keytool -list -v -keystore ./app/my-app-key.keystore aus.

Sie werden aufgefordert, das Keystore-Passwort einzugeben: Drücken Sie hier einfach die Eingabetaste. und Sie werden in der Lage sein, dem Alias-Namen zugeordnet zu finden:

Führen Sie dann grep -rn "<your alias name>" .in Ihrem Terminal aus, und Sie können Ihre signierung.json-Datei wie folgt sehen:

./app/build/intermediates/signing_config/release/out/signing-config.json

Die Datei hat Ihr Passwort im JSON-Format mit dem Schlüssel "mKeyPassword": "<Ihr Passwort>"

Dipesh Karki
quelle
3

In Ionic konnte ich es hier finden: /app/platforms/android/app/build/intermediates/signing_config/release/out/signing-config.json

Vielleicht hilft das jemandem. Prost.

Joseph Briggs
quelle
Vielen Dank!
Hugo Ramos
2

Android Brute Force funktioniert nicht, wenn beide Kennwörter unterschiedlich sind. Versuchen Sie daher am besten, die Datei mit dem Namen als zu finden

log.idea

In Ihrem C: / users / Ihrem benannten Konto haben Sie möglicherweise festgestellt, dass Sie dort im Android-Ordner die Datei lpg.idea im Editor öffnen und dann nach suchen

alias

Wenn Sie die Suchoption im Editor verwenden, werden Sie feststellen, dass das Kennwort sowie die Alias- und Alias-Passwörter dort angezeigt wurden

Kawal Singh
quelle
Es sollte idea.log sein.
Felix
2

Ich habe das Passwort in gefunden

C:\Users\{Username}\.AndroidStudio2.2\system\log\idea.txt

Suchen nach

Pandroid.injected.signing.store.password
Yusuf Demirag
quelle
2

Gehen Sie taskhistory.binin den .gradleOrdner Ihres Projekt-Suchkennworts und scrollen Sie nach unten, bis Sie das Kennwort gefunden haben

Aryan Soni
quelle
1

Zusammenfassend gibt es 3 Antworten auf diese Frage (und die Lösung wird nicht durch die akzeptierte Antwort gegeben):

  1. Wenn Ihre Protokolle intakt sind, finden Sie das Kennwort in den Android Studio-Protokolldateien gemäß der obigen Antwort von Georgi Koemdzhiev .

  2. Sie können das Kennwort aus der Datei 'taskArtifacts.bin' in Ihrem .gradle-Verzeichnis gemäß den obigen Antworten von ElDoRado1239 und Gueorgui Obregon abrufen . Dies scheint bei neueren Versionen von Gradle (2.10 und höher) nicht zu funktionieren.

  3. Verwenden Sie AndroidKeystoreBrute, um Ihr Passwort gemäß der obigen Antwort von Srinivas Keerthiprakasam zu erraten oder zu erzwingen .

Alle diese 3 Lösungen werden unter diesem Link ausführlich behandelt .

Varun
quelle
1

In meinem Fall habe ich den Aliasnamen falsch verstanden, obwohl ich das richtige Passwort gespeichert habe. Also dachte ich, es sei das falsche Passwort (mit ionic package), also habe ich diesen Befehl verwendet, um den Aliasnamen zu erhalten

keytool -list -v -keystore

Und ich konnte den Keystore wieder benutzen!

cbyte
quelle
1

C: \ Benutzer \ admin \ AndroidStudioProjects \ TrumpetTVChannel2.gradle \ 2.14.1 \ taskArtifacts \ taskArtifacts.bin

Versuchen Sie zunächst, einen neuen Schlüsselspeicher zu erstellen. Öffnen Sie dann taskArtifacts.bin mit dem Notizblock und suchen Sie nach dem gerade angegebenen Kennwort. Sie können Wörter in der Nähe des gerade angegebenen Kennworts herausfinden und dann nach diesen Wörtern in der Nähe suchen Ihr Passwort in der gleichen Datei .... Sie können das Passwort herausfinden ..... :)

AK Jayapalan
quelle
1

Wenn nichts funktioniert, versuchen Sie diese Zeile. Gehen Sie zu dem Pfad, in dem .jks gespeichert ist. Führen Sie diesen Befehl an der Eingabeaufforderung aus. Es wird nach dem Passwort gefragt, dieses ignoriert und die Eingabetaste gedrückt.

keytool -list -keystore sample.jks

AMAN SINGH
quelle
1

LÖSUNG 2018 : Signieren Sie die App mit einer neuen Keystore-Datei, wenn Sie ein Passwort oder eine JKS-Datei vermissen.

1) Erstellen Sie eine neue keystore.jks-Datei mit der Befehlszeile (nicht Android Studio Build-Menü)

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

Windows-Beispiel: "C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore "C:\keystore_new.jks"

2) Generieren Sie eine PEM-Datei aus einem neuen Keystore

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

Windows-Beispiel: "C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -export -rfc -alias upload -file "C:\upload_cert.pem" -keystore "C:\keystore_new.jks"

3) Verwenden Sie dieses Support-Formular, setzen Sie "Keystore-Problem" und fügen Sie mit Anhang eine PEM-Datei hinzu: https://support.google.com/googleplay/android-developer/contact/otherbugs

4) 12-48h Ihr neuer Keystore ist aktiviert. Aktualisiere deine App im Playstore mit einer neuen Apk, die mit einem neuen Keystore signiert ist: D.

PTKDev
quelle
Ich denke, es ist für diejenigen, die Google App Anmeldeoption wählen?
Sumit Kumar
1

Ich bin überrascht, dass dies noch niemand erwähnt hat. Sie können sich jedoch an den Entwickler-Support von Google Play wenden. Dieser wird dann mit Ihnen zusammenarbeiten, um einen neuen Upload-Schlüssel zu erstellen:

https://support.google.com/googleplay/android-developer/contact/otherbugs

Ich habe ein Problem behoben und sie haben mich innerhalb eines Tages kontaktiert.

jahooma
quelle
0

Sie müssen keine Brute Force anwenden. Eine einfache Möglichkeit besteht darin, Ihr Nur-Text-Passwort zu finden.

gehe zu:

C:\Users\<your username>\AndroidStudioProjects\WhatsAppDP\.gradle\2.2.1\taskArtifacts

Öffnen:

taskArtifacts.bin 

Wenn Sie taskArtifacts.bin öffnen, sieht es möglicherweise verschlüsselt aus. Machen Sie sich einige Male keine Sorgen über die Suche nach ".keyPassword". Dann finden Sie Ihr Passwort im Klartext. Es kann ähneln:

signingConfig.keyPassword¬í t <your password>Æù

Hoffe das war hilfreich.

jfindley
quelle