2015-05-02 2 views
40

Я искал StackOverflow некоторое время, но я просто хотел убедиться, что ...Android Студия: не может восстановить ключ

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

Если у меня нет смысла, пожалуйста, спросите меня для уточнения. Благодаря!

ответ

49

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

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

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

+3

Спасибо! Как вы узнали, что пароли должны быть одинаковыми? Сегодня я начал получать эту ошибку. До сих пор все хорошо работало с двумя разными паролями. –

+0

То же со мной. Вопрос начался с одного дня на другой! Я не использовал старые файлы резервных копий ... Это просто случилось. – Tino

+1

Мои пароли такие же, и я до сих пор получил эту ошибку. Я смог подписать предыдущую версию с тем же ключом. Теперь что мне делать? –

38

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

Вот как я ее решил: «ключ не может восстановить» ошибка для меня, потому что мой «Keystore пароль» был правильным но «Key Password» (ключевой псевдоним) был неправильно. Я был уверен, что оба пароля были такими же, но к моему ужасу они не были, и я не знал, что такое второй пароль. Как я уже подписал APK, прежде чем я проверил файл журнала, который можно найти:

  • C: \ Users \ имя_пользователя \ .AndroidStudio2.1 \ система \ журнал \

Откройте лог-файлы с даты, которые вы уже подписали 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***, 

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

+1

ДА! В КОНЦЕ КОНЦОВ! Мой пароль был в файле «идея» внутри указанной вами папки. Я даже пытался использовать взломщик паролей, но он дал мне пропуск Alias, и я, хотя это было хранилище ключей, но это не так. – George

+0

Спасибо! Я использовал «главный пароль», который я ввел при подписании apk, но мне просто нужно было повторить «ключевой пароль». – JCarlos

+0

Я никогда не видел файл журнала. Проверка файлов журнала дает мне очень сильную подсказку. Спасибо. – hata

8

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

+1

То же самое. «Невозможно восстановить ключевые моменты» в проблеме очень четко –