キーストアのパスワードを忘れてしまったので、どうすればいいかわかりません(言い訳をすることはできませんし、しません)。バグを修正しただけで、それ以上は不可能なので、アプリを更新したい。同じキーストアを使用して新しいキーを作成するとどうなりますか?それでもアプリを更新できますか?それが不可能な場合、更新されたバージョンに関する情報をユーザーに提供するにはどうすればよいですか?
誰かがこのような問題を抱えていたり、トラブルに遭遇した場合、状況を改善するためにどのようなアドバイスを与えることができますか?幸いなことに、それは無料アプリです。
このリンク を参照してください
残念ですが、キーストアまたはキーストアのパスワードを紛失すると、アプリケーションは孤立します。できることは、新しいキーの下でアプリを市場に再送信することだけです。
常にキーストアをバックアップし、安全な場所にパスワードを書き留めてください。
自分でこの問題に遭遇しました-幸いなことに、Gradleの一時ファイルでパスワードを見つけることができました。誰かがここに着いた場合に備えて、探してみてください
..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin
それは平文であった。一般に、パスワードの少なくとも一部を覚えている場合は、この部分文字列を含むファイルを検索してみてください。
ここでそれを捨てたかった、おそらくそれは最終的に誰かを助けるでしょう。
間違ったパスワードが提供された場合、一度だけでも、次の試行で言い続けます:
キーストアが改ざんされているか、パスワードが正しくありません。
正しいものを提供しても。私はそれを数回試しましたが、多分それは何らかの保護です。
エクスポートウィザードを閉じて、正しいパスワードを使用して再起動します。これで動作します:)
ブルートはあなたの最善の策です!
ここに私を助けたスクリプトがあります:
https://code.google.com/p/Android-keystore-password-recover/wiki/HowTo
オプションで、非常に高速な回復のためにパスワードmightに含める単語のリストを指定できます(私にとっては1秒未満で機能しました)
MACでコンソールユーティリティを起動し、〜/ Library/Logs-> AndroidStudio-> idea.log.1(または任意の古いログ番号)までスクロールします。次に、「キーストア」を検索し、ログのどこかに表示されるはずです。
元の質問: link
実際、thekeystore password
をなくしても問題はありません。
以下のkeytool
コマンドを使用して、新しいキーストアを作成し、新しいパスワードを設定できます。元のキーストアパスワードは必要ありません。
keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore
プロンプトが表示されたら、new.keystore
およびソースキーストアパスワード(失った)のパスワードを作成しますEnterを押します。
整合性がチェックされていないという警告が表示され、new.keystoreが新しく設定されたパスワードで元のものと同一になります。
これが機能する理由は、keystore password
はkeystore
の整合性を提供するためにのみ使用され、秘密鍵を実際に暗号化するprivate key password
とは対照的に、データを暗号化しません。
アプリに署名するには、private key password
を知っている必要があることに注意してください。忘れられたkeystore password
と同じ場合、@ Arturの答えのようにブルートフォースに頼ることができます。
このアプローチは私にとって常に有効でした。
これは単なるコメントではないので、私はそれを答えにする必要があると感じています。 @ ElDoRado1239は彼の答えで言っている (彼の答えを支持することを忘れないでください;)
..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin
を使用しているため、私の場合は..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.bin
にあるgradle 2.2.1
を探しますstorePassword
を探します...私の場合はsigningConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias
行にありました他の誰かを助けることを願っています!!!
幸いなことに、Android studioログからキーストアパスとエイリアス名とともにパスワードを失いました。
linux/Unixベースのマシンを実行している場合。
ライブラリログディレクトリに移動します
cd ~/Library/Logs/
前回のリリースAPKのビルドに使用したAndroidスタジオバージョンを覚えていれば、そこにあります。そのディレクトリに移動します
例:cd AndroidStudio1.5 /
そこにログファイルがあります。いずれかのログファイル(idea.log)にキーストアの資格情報があります
例
-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,
これがAndroid Studioユーザーに役立つことを願っています
Android Studioで失われたキーストアパスワードを回復するための可能なオプションの調査にほぼ1日を費やした後。私はそれを行うために次の4つの可能な方法を見つけました:
AndroidKeystoreBrute を使用してパスワードを取得します。この方法は、パスワードを部分的に忘れてしまったことを意味する場合に非常に便利です。
同じマシンで以前にアプリ(キーストアのパスワードを検索)をリリースした場合は、Android Studioログファイルから取得することもできます。次のディレクトリを参照してください。
Mac OSX
〜/ Library/Logs/AndroidStudio/idea.log.1
Linux(可能な場所)
/ home/user_name/AndroidStudio/system/log
Windows(可能な場所)
C:\ Users\user_name\AndroidStudio\system\log
ファイル内でPandroid.injected.signing.key.password
を検索します。現在見ているのと同じAndroid Studioバージョンでアプリに以前に署名した場合、パスワードが表示されます。
プロジェクトの.gradleディレクトリからパスワードを取得することもできます。次のパスを探します
project_directory/.gradle/2.4/taskArtifacts/taskArtifacts.bin。
注:これは、Gradleの新しいバージョン(2.10以降)では機能しないようです。
上記の解決策のどれもうまくいかない場合は、これを試すことができますが、このためにはAndroid Studio IDE appまたはプロジェクトキーストアのパスワードが以前に保存されている設定が必要です(アプリへの署名時に[パスワードを保存する]オプションを使用します)。次のパスからIDE設定を取得できます。
Mac OSX
〜/ Library/Logs/AndroidStudio/idea.log.1
Linux(可能な場所)
/ home/user_name/AndroidStudio
Windows(可能な場所)
c:\ user\username\.AndroidStudio
古いAndroidの設定を新しいIDEに持っているかインポートする場合は、古いIDE Studio IDEを使用し、キーストアも配置します。前回署名したときと同じパスにファイルを保存し、前回パスワードを保存しました。
この方法では、プロジェクトを開いて[ビルド]-> [署名済みAPKの生成]を試行し、古い場所からキーストアファイルを選択します。パスワードを自動的に取得し、リリース用の署名済みAPKの生成を続けます。
リリースAPKが正常に生成されると、前述のオプション2に従って、最近生成されたリリースAPKのログファイルからパスワードを確認できます。
これに出くわす可能性のある他の人のために、あなたやこの記事を閲覧している他の人(私のように)に当てはまる答えを共有したいと思いました。
Eclipseを使用しており、1.0リリース用にキーストアを作成しました。 3か月早送りして、1.1に更新したかった。 EclipseでExport ...を選択し、そのキーストアを選択したとき、覚えていたパスワードが機能しませんでした。毎回「キーストアが改ざんされているか、パスワードが正しくありません。」 (1週間かそこら)立ち上がって機能するようにできる限り。
幸いなことに、Eclipseの外部で署名のない.apkファイルに署名します。出来上がり-うまくいきました!私のパスワードはずっと正しかった! 理由はわかりませんが、パスワードが正しい場合でも、エクスポートメニューを使用してEclipseで署名するとエラーが報告されました。
したがって、このエラーが発生している場合、apkを市場に投入できるようにするための手順を以下に示します( Android documentation から取得)。
注:Eclipseから未署名のAPKを取得するには、プロジェクトを右クリックし、[Androidツール]> [未署名のアプリケーションをエクスポート]を選択します。
キーストアで署名されていないapkファイルに署名する
a。管理者cmdプロンプトを開き、「c:\ Program Files\Java\jdk1.6.0_25\bin」またはJavaのバージョン(未署名のapkファイルとキーストアをコピーした場所)に移動します
b。同じディレクトリ内のキーストアファイルと署名されていないapkのcmdプロンプトで、次のコマンドを入力します。jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore
c。 「キーストアのパスフレーズを入力してください」と表示されます。入力してReturnキーを押します。
d。 ===>成功は次のようになります。
adding: META-INF/MANIFEST.MF
...
signing: classes.dex
e。署名されていないバージョンはその場所で上書きされるため、署名されたapkファイルは、署名されていないものと同じファイル名になります。
ZipAlignを使用して、署名されたapkファイルを圧縮して市場で配布します
a。 admin cmdプロンプトを開き、「c:\ AndroidSDK\tools」またはAndroid SDKをインストールした場所に移動します
b。次のコマンドを入力します。zipalign-v 4 signed.apk signedaligned.apk
c。 ===>成功は次のようになります。
Verifying alignment of signedaligned.apk (4)
50 META-INF/MANIFEST.MF (OK - compressed)
...
1047129 classes.dex (OK - compressed)
Verification succesful
d。署名および整列されたファイルは、signedaligned.apk(前のコマンドで指定したファイル名)にあります
========>市場への提出準備完了
ソリューション2019(Windows、Android Studio 3.3、gradle 4.10):
このソリューションは、「パスワードを記憶する」チェックボックスが以前にマークされていた場合にのみ機能します。
まず、このバージョンのgradleにはtaskArtifacts.binが存在せず、idea.logにパスワードのアスタリスクが表示されます。これは私にとってはうまくいかない昔の解決策でした。
クリアテキストパスワードを見つけた場所:C:\ Users\{username}\AndroidStudioProjects\{project}\app\build\intermediates\signing_config\release\out\signing-config.json
キー:mStorePasswordおよびmKeyPassword。
他の人の助けになることを本当に願っています。
これを別の可能性として追加します。答えはすぐ下にあるかもしれません-過去のある時点で署名構成を指定したことがあった場合、アプリのbuild.gradleファイルで:
signingConfigs {
config {
keyAlias 'My App'
keyPassword 'password'
storeFile file('/storefile/location')
storePassword 'anotherpassword'
}
}
ラッキーだと思いますか?!
私は同じ問題を一度に抱えていました。 Google Playによるアプリ署名では、キーストアまたはそのパスワードを失うことは以前のように大したことではありませんが、開発者として、Googleはそれを処理するのに数日待たずにパスワードを変更し、生成されたキーストアファイルを使用することを好みます。 (Googleでこの問題を処理するには、この link を使用してリクエストを作成します)この問題を自分で処理するには、まず、この link から2つの.Javaファイルをダウンロードします。次に、javac ChangePassword.Java
コマンドでChangePassword.Javaをコンパイルします。その後、実行することができます後
Java ChangePassword <oldKeystoreFileName.keystore> <newKeystoreFileName.keystore>
oldKeystoreFileName.keystoreを現在のキーストアファイルのパス/名前に変更し、newKeystoreFileName.keystore生成された新しいキーストアファイルのパス/名前。これにより、
キーストアのパスワードを入力してください:
。好きなものを入力してください:)紛失した元のパスワードである必要はありません。次に、*で新しいパスワードを入力します
新しいキーストアのパスワード:
Google+のZach Klippensteinも同じ問題を抱えていました。スレッドをフォローできます here 。
パスワードを見つけました
C:\Users\{Username}\.AndroidStudio2.2\system\log\idea.txt
検索する
Pandroid.injected.signing.store.password
taskHistory.bin
を開き、storePassword
を検索します
プロジェクト検索パスワードのtaskhistory.bin
フォルダーの.gradle
に移動し、パスワードが見つかるまで下にスクロールします
要約すると、この質問には3つの答えがあります(そして、解決策は受け入れられた答えではありません):
ログがそのままの場合は、上記の Georgi Koemdzhiev's の回答に従って、Android Studioログファイルでパスワードを見つけることができます。
上記の ElDoRado1239's および Gueorgui Obregon's の回答に従って、.gradleディレクトリの「taskArtifacts.bin」ファイルからパスワードを取得できます。これは、Gradleの新しいバージョン(2.10以降)では機能しないようです。
AndroidKeystoreBruteを使用して、 Srinivas Keerthiprakasam's 上記の回答に従ってパスワードを推測またはブルートフォースします。
これら3つのソリューションはすべて、この link で詳細に説明されています。
両方のパスワードが異なる場合、Androidのブルートフォースは機能しません。そのため、最適なオプションは、
log.idea
c:/ users/namedアカウントで、Androidフォルダー内でそのファイルlpg.ideaをメモ帳で開いて検索することがあります。
エイリアス
メモ帳の検索オプションを使用すると、パスワードとエイリアスとエイリアスパスワースが表示されていることがわかります。
ソリューション2018:パスワードまたはjksファイルがない場合、新しいキーストアファイルでアプリに署名します。
1)コマンド行を使用して新しいkeystore.jksファイルを作成します(Android studioビルドメニューではありません)
keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
Windowsの例:"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)新しいキーストアから.pemファイルを生成します
keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
Windowsの例:"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)このサポートフォームを使用して、「キーストアの問題」を設定し、添付ファイルで.pemファイルを追加します:https://support.google。 com/googleplay/Android-developer/contact/otherbugs
4)12-48h新しいキーストアが有効になります。新しいキーストアで署名された新しいapkでプレイストアのアプリを更新します:D
私の場合、正しいパスワードを保存していても、エイリアス名が間違っていました。間違ったパスワードだと思ったので(ionicパッケージを使用)、このコマンドを使用してエイリアス名を取得しました
keytool -list -v -keystore
そして、私は再びキーストアを使用することができました!
C:\ Users\admin\AndroidStudioProjects\TrumpetTVChannel2.gradle\2.14.1\taskArtifacts\taskArtifacts.bin
最初に新しいキーストアを作成してみてください...その後、メモ帳でtaskArtifacts.binを開き、指定したばかりのパスワードを探します....指定したばかりのパスワードに近い単語を見つけて、近くにあるこれらの単語を検索できます同じファイル内のパスワード....パスワードを把握することができます..... :)
何も動作しない場合は、これらの行を試してください。 .jksが保存されているパスに移動します。コマンドプロンプトでこのコマンドを実行します。パスワードを要求し、それを無視してEnterを押します。
keytool -list -keystore sample.jks
Macユーザーの場合は、キーチェーンアクセスをチェックアウトアプリケーションを試してください。私のパスワードは、Passwords
という名前のorg.jetbrains.Android.exportSignedPackage.KeystoreStep$KeyStorePasswordRequestor
の下に保存されました。または、キーチェーンアクセスでAndroid
を検索して、キーチェーンアプリでパスワードを見つけることもできます。
しかし、パスワードがどのように終わったかはわかりません。しかし、私はそれをそこに置いたことを思い出しません。したがって、Android Studioである必要があります。これが役に立てば幸いです。
注:更新されたパスワードで署名する前にRebuild Project
またはClean Project
を忘れないでください。そうしないと、パスワードが正しいにもかかわらず、Android Studioがapkのビルドに失敗する場合があります。
ブルートフォースを使用する簡単な方法は、プレーンテキストのパスワードを見つけることです。
後藤:
C:\Users\<your username>\AndroidStudioProjects\WhatsAppDP\.gradle\2.2.1\taskArtifacts
開いた:
taskArtifacts.bin
taskArtifacts.binを開くと、暗号化されているように見える場合がありますが、「。keyPassword」の検索を数回心配する必要はありません。次に、プレーンテキストでパスワードを検索します。次のようになります。
signingConfig.keyPassword¬í t <your password>Æù
これがお役に立てば幸いです。
私の場合、Android Studioを2.3から3.0.1にアップグレードしました。新しい更新用に署名済みAPKを生成しようとすると、「キーストアが改ざんされたか、パスワードが正しくありません」というエラーが表示されました。以前のキーストアがあり、パスワードを完全に確信していたので、数回前にアプリを更新しました。多くを検索した後、解決策はどれも私にとってはうまくいきませんでした。これが私がしたことです。
これが誰にも役立つことを願っています。
私は同じ問題を経験しました、私は問題を解決するために以下の手順を試しました:-
新しいキーストアと新しいパスワードを作成して署名apkを作成します。
古いキーストア(以前のapkビルドのアップロード時に使用したキーストア)を使用して再度署名apkを作成しますが、新しいキーストアパスワードを使用します。
これで間違いなく、古いキーストアを使用して正常に署名apkを作成できます。
紛失したキーストアのパスワードを調べるには、これを試すことができます。私にとって、次の解決策はかなりうまくいきました。
~/Library/Logs/AndroidStudio2.0
でアイデアログファイルを見つけます。 Android Studio-> Help-> Show Log in File managerを開いてこれらを見つけることもできます。
idea.log
ファイルを開きます。注:idea.log.1
、idea.log.2
などの名前のファイルが複数存在する場合があります。パスワードが見つかるまで、それぞれを調べてください。
“Pandroid.injected.signing.key.password”
を検索すると、キーパスワードが表示されます。
それが役に立てば幸い...