Android Studio: не удается восстановить ключ

я обыскал сайте StackOverflow, но я просто хотел убедиться...

я вытер свой ноутбук некоторое время назад и скопировал все свои файлы. У меня есть андроид.файл 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, пароль ключа, пароль хранилища ключей. Все правильно. Что я упускаю? Я скопировал все свои файлы, так что если есть мне нужен конкретный файл, я мог бы его найти, но я понятия не имею, что делать...

Если я не понимаю, пожалуйста, попросите меня уточнить. Спасибо!

4 ответов


Я не удивлен, что это на работе, но вот что я сделал для тех, кто наткнется на этот пост.

Как я уже сказал, все мои файлы были заархивированы. я восстановил 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]

хранилище ключей и пароли ключей должны быть одинаковыми! это исправило мою проблему, и я надеюсь, что это поможет вам тоже.


[обновление: это больше не работает в Android studio 3.0 и выше]

я столкнулся с подобной проблемой, и ни одно из решений не сработало после потери 3 часов в Интернете, я решил копать глубоко.

вот как я решил это: Ошибка "не удается восстановить ключ" для меня была потому, что мой "Keystore пароль" был правильным но " пароль ключа " (псевдонима ключа) был неправильным. Я был уверен, что оба пароля были одинаковыми, но к моему ужасу они не были, и я не знал, какой был второй пароль. Поскольку я уже подписал 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***, 

и вы увидите пароли в виде обычного текста. Это даже сработает, если вы забудете пароли.


Если это может помочь кому-либо-проблема в моем случае заключалась в том, что "пароль хранилища ключей" и "пароль ключа" были неправильными.


Мне посчастливилось проверить в Android Studio вкладку структура проекта/подпись и найти пароль ключа и пароль хранилища, перечисленные в обычном тексте. Я думал, они такие же, как и я, но это не так.--1-->