Android Studio:キーを回復できません


94

StackOverflowをしばらく検索しましたが、確認したいだけです...

少し前にラップトップを拭いて、すべてのファイルをバックアップしました。android.jksファイルをバックアップしましたが、元の場所に戻りました。署名付きAPKを生成しようとすると、誰もが経験している同じ恐ろしいエラーが表示されます。

Error:Execution failed for task ':app:packageRelease'.
> Failed to read key conjugationappkey from store     
"/Users/wasimsandhu/android.jks": Cannot recover key

私はandroid.jks、キーパスワード、キーストアパスワードを持っています。すべてが正しいです。何が欠けていますか?すべてのファイルをバックアップしたので、必要な特定のファイルがある場合、それを見つけることができましたが、どうすればよいかわかりません...

意味がわからない場合は、説明してください。ありがとう!


2
キーストアのパスワードに文字&または@を使用している場合は、回答セクションまでスクロールせずに、このリンクに移動して、sharmaの回答を確認してください。
meyasir

回答:


115

これが牽引力を獲得しなかったことに驚いていませんが、この投稿に遭遇した人のために私がやったことは次のとおりです。

前述のとおり、すべてのファイルがバックアップされました。古いバックアップからandroid.jksファイルを復元しました。次に、ターミナルウィンドウを開き、次のように入力しました。

keytool -storepasswd -new [insert new keystore password] -keystore [insert keystore file name]

keytool -keypasswd -alias [insert alias] -new [insert new key password] -keystore [insert keystore file name]

キーストアとキーのパスワードは同じである必要があります!これで私の問題が解決しました。


5
ありがとうございました!パスワードが同じである必要があることをどのようにして知りましたか?今日、このエラーが発生し始めました。これまでは、2つの異なるパスワードですべてがうまく機能していました。
Alen Siljak

6
私のパスワードは同じですが、まだこのエラーが発生します。同じキーで以前のバージョンに署名できました。今私は何をすべきですか?
Tushar Gogna 2016

1
同じ問題に直面しています。昨日の前日、署名済みAPKを正常に生成し、今日も同じ問題を生成しました。誰でも恒久的な解決策を持つことができます!
2016

4
私の場合、このエラーが発生します: "keytool error:java.security.UnrecoverableKeyException:Cannot recover key"
0xAliHn

2
私も同じ問題です。最初の行を実行した後、パスワードを要求します。私はそれを与えますが、「keytoolエラー...キーストアが改ざんされたか、パスワードが正しくありません」と表示されます
Ammar Bukhari

64

[更新:これはAndroid Studio 3.0以降では機能しません]

私は同様の問題に直面し、インターネットで3時間を浪費した後、解決策がどれも機能しなかったため、深く掘り下げることにしました。

解決方法は次のとおりです。「キーストアのパスワード」は正しいが、(キーエイリアスの)「キーのパスワード」が間違っていたため、「キーを回復できません」エラーが発生しました。両方のパスワードが同じであると確信していましたが、残念なことに、それらは異なり、2番目のパスワードが何であるかわかりませんでした。見つけることができるログファイルをチェックアウトする前に、私はすでにAPKに署名していたので:

  • C:\ Users \ your_username \ .AndroidStudio2.1 \ system \ log \

apkに署名した日付のログファイルを開き、次のエントリを探します。

 INFO - .project.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: [--configure-on-demand, -Pandroid.injected.invoked.from.ide=true, 
-Pandroid.injected.signing.store.file=E:\HobbyProjects\XYZProject\gpsjs.jks, 
-Pandroid.injected.signing.store.password=***KeyStorePassword***, 
-Pandroid.injected.signing.key.alias=***alias_name***, 
-Pandroid.injected.signing.key.password=***Key password***, 

そして、あなたはプレーンテキストでパスワードを見つけるでしょう。これは、パスワードを忘れた場合でも機能します。


3
はい!最後に!私のパスワードは、あなたが言及したフォルダ内の「idea」ファイルにありました。私はパスワードクラッカーを使用してみましたが、エイリアスパスを取得しましたが、それはキーストアのものでしたが、そうではありませんでした。
ジョージ

ありがとう!master passwordapkに署名するときに入力したを使用していましたが、を繰り返すだけで済みましたkey password
JCarlosR 2017

ログファイルを見たことがない。ログファイルをチェックすることは私に非常に強力な手がかりを提供します。ありがとうございました。
はた

7
これはAndroidStudio3.0で機能しますか?パスワードが*********と表示されています。
TheLearner

2
@Androidcoder Androidスタジオチームは、最近のバージョンでこの抜け穴を修正しました。
Build3r、

24

誰かを助けることができるなら-私の場合の問題は、「キーストアのパスワード」と「キーのパスワード」が正しくないことでした。


12

私は答えとコメントで与えられた提案をすべて試しました:(

鍵のパスワードと鍵ストアのパスワードはまったく同じです。Android Studio 3.4の使用

私にとってうまくいったのは、Android Studioを強制終了して、もう一度開始し、プロジェクトをクリーンアップして再ビルドしてから、署名済みAPKを生成することでした。すべての構成はまったく同じですが、今回は機能しました


3
プロジェクトをクリーンアップして再構築したところ、問題なく動作しました。+1アップ
-sanjeeb

1
これでうまくいきました。IDEがそのような重要な情報の管理を台無しにするのは、クールな「機能」ではありません。
マルク=アンドレ・Weibezahn

Android Studio 3.6.2 PSで確認済み
愛しています

9

[Android Studio 3.3]署名済みAPKの生成時に「キーを回復できません」エラーが発生しました。以前のidea.logでパスワードの正確性を確認することができました。キーストアとキーパスワード同一で正しいものでした。

端末のキーパスワードの更新:

keytool -keypasswd -alias MYKEY -keystore KEYSTORE

キーストアとキーに同じパスワードを使用することはもはや不可能のようです。keytoolで試したところ、エラーが発生しました。キーに別のパスワードを設定した後、Android Studioは署名済みAPKを生成しました。

たぶん、以前のAndroid Studioバージョンでは、パスワードは同一である必要がありましたが、今では逆になる可能性があります。


2週間前にアプリを更新しましたが、今日は機能しません。これを使用してパスワードを同じに変更し、Android Studioを更新しましたが、新しいバージョンを実現しました。
Alejandro Cumpa

@ Build3rの回答とこの回答の間に、両方のパスワードを異なる許容可能な値に設定し、アプリに正常に署名することができました。みんなありがとう!
Peter Gluck

3

それは誰かを助けるかもしれません。

数日前にgitlabでAndroidプロジェクトをバックアップしてからWindows 10をインストールしました。その後、クローンを作成しました。鍵のエイリアスと両方のパスワードを正確に知っていました。

次に、署名済みapkを生成しているときに、それらの資格情報を入力しましたが、失敗しました。

jksファイルをappフォルダーに配置しました。そこから削除して、androidプロジェクトのルートフォルダーに別のフォルダーを作成し、そこにjksファイル配置しました。

次に、クリーンなプロジェクトを再構築してから、Android Studioを再起動しました。 最後に、署名されたapkを作成しました:D


2

この問題は、キーパスワードまたはキーストアパスワードが一致しない場合にのみ発生します。


2

私のパスワードは同じで、それでもこのエラーが発生しました。Androidスタジオをクリーンアップ、再構築、再起動してもうまくいきませんでした。私にとって有効な唯一の解決策は、keystore.jksファイルを新しい場所に移動することでした。お役に立てれば。


1

アプリのgradleファイルからsigningConfigsセクションを削除しました。その後、プロジェクトを再構築すると、再び機能しました。


0

Android Studioの[Project Structure / Signing]タブを確認すると幸運なことに、キーパスワードとストアパスワードがプレーンテキストで表示されていました。それらは同じだと思ったが、違う。


0

Eclipseを実行している場合は、Eclipseをシャットダウンして、署名付きAPKを再度生成してみてください。

私の場合、すべてのパスワードが正しいことを確認し、Androidスタジオから新しいキーストアを生成しました。それでも機能しませんでしたが、実行中のEclipseをシャットダウンした後、使用した古いキーストアまたは新しく生成されたキーストアですべてが機能しました。


0

最初にファイルを作成したとき、以前に署名ファイルを圧縮しました。このエラーが発生したとき、もう一度使用しました。バックアップがある場合に使用できます。彼らが気づく前に私たちは物事を壊したと思います。


0

私も同じ問題に直面していました。私の場合、gradleファイルを使用してプロジェクトを同期した後、この問題は解決しました。これは誰かを助けるかもしれません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.