web-dev-qa-db-ja.com

Android St​​udio:キーを回復できません

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

意味がわからない場合は、明確にするように依頼してください。ありがとう!

75
wasimsandhu

これが何の牽引力も得なかったのは驚きではありませんが、この記事に出くわした人のために私がしたことはここにあります。

前にも言ったように、すべてのファイルがバックアップされました。古いバックアップから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]

キーストアとキーのパスワードは同じでなければなりません!これは私の問題を解決しました。

92
wasimsandhu

[更新: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***, 

パスワードはプレーンテキストで見つかります。パスワードを忘れても機能します。

59
Build3r

それが誰かを助けることができる場合-私の場合の問題は、「キーストアのパスワード」と「キーのパスワード」が間違っていたことでした。

18
MorZa

[Android Studio 3.3]署名済みAPKの生成時に「キーを復元できません」というエラーが表示されました。パスワードの正確性について、古いidea.logをチェックインすることができました:キーストアとキーパスワードwere同一かつ正しい。

ターミナルでキーパスワードを更新します。

keytool -keypasswd -alias MYKEY -keystore KEYSTORE

キーストアとキーに同じパスワードを使用することはできなくなったようです。試してみたところ、キーツールはエラーを出しました。キーに別のパスワードを設定した後、Android St​​udioは署名付きAPKを生成しました。

たぶん、以前のAndroid St​​udioバージョンでは、パスワードは同一でなければなりませんでした-今では反対かもしれません。

5
LiebrandApps

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

2
Arjun G

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

私のキーパスワードとキーストアパスワードはまったく同じです。 Android studio 3.4を使用する

私のために働いたのは、強制的にAndroid St​​udioを終了し、再起動し、クリーンアップして再構築するプロジェクトで、署名されたapkを生成することでした。すべての設定はまったく同じですが、それはworked今回

2
Zeeshan Tufail

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

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

0
RedSIght

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

0
Mahmut K.

Android St​​udioの[プロジェクトの構造/署名]タブで確認する幸運があり、キーパスワードとストアパスワードがプレーンテキストでリストされていることがわかりました。私はそれらが互いに同じだと思ったが、そうではなかった。

0
saswanb

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

GitlabでAndroidプロジェクトをバックアップしてからWindows 10をインストールする数日前に、それを複製しました。キーエイリアスと両方のパスワードを正確に知っていました。

次に、署名済みapkの生成中にこれらの資格情報を入力しましたが、失敗しました。

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

それから私はクリーン、プロジェクトを再構築してからAndroid studioを再起動しました。最後に署名されたapkを構築しました:D

0
Makarand

「キーストアのパスワード」と「キーのパスワード」は同じにする必要があることがわかりました

https://teamtreehouse.com/community/Android-studio-beta-081-receive-failed-to-read-key-from-store-cannot-recover-key-errors

http://karim-ouda.blogspot.com/2010/07/errors-solutions-5.html

0
Shahbaz Ahmad