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-->