Как получить ключевой псевдоним и ключевой пароль для подписанного APK в Android Studio (перенесено из Eclipse)


89

У меня есть приложение для Android, которое сейчас опубликовано в Google Play, которое я периодически обновляю. Я следую следующему процессу, чтобы подписать приложение перед новым нажатием:

Нажмите правую кнопку мыши на проекте, выберите «Инструменты Android» -> экспортировать подписанный пакет приложения. Укажите пароль хранилища ключей. Подпишите свое приложение. Загрузите файл apk в консоль разработчика Google Play.

Недавно я импортировал проект из Eclipse в Android Studio и продолжил работу над Android Studio. Теперь я планирую внести исправление в приложение. Я решил, что у меня есть возможность подписать apk в студии android

Сборка -> Создать подписанный apk ->введите описание изображения здесь

Насколько я понимаю, для моего приложения для Android я должен использовать то же хранилище ключей и пароль хранилища ключей, которые я использовал ранее для отправки обновлений в Google Play. Также здесь запрашивается ключевой псевдоним и ключевой пароль. Я не помню ключевой псевдоним и ключевой пароль (ввод числа 4 на изображении) при подписании apk в Eclipse. Есть предложения, что мне теперь делать? Если я уже знаю свое хранилище ключей и пароль хранилища ключей, есть ли способ получить псевдоним ключа и пароль ключа псевдонима?

Обновление: теперь я могу получить свой псевдоним ключа с помощью команды keytool -list -v -keystore name.keystore


«не было варианта Key alias или Key password при подписании apk в Eclipse» - есть в моем Eclipse с плагином ADT. Фактически, создать ключ без псевдонима невозможно .
CommonsWare

В таком случае я мог бы не вспомнить. Не могли бы вы рассказать, как получить псевдоним ключа?
MSIslam,

2
Если у вас есть пароль хранилища ключей, keytoolвозможно, вы сможете перечислить псевдонимы. Давненько я не возился с keytoolвручную.
CommonsWare

1
Нет, создавать новые - недопустимо, если только вы не хотите перейти на новый ключ и вынудить пользователей потерять данные своего приложения (и, по крайней мере, тех, кто получает приложение через магазин воспроизведения), чтобы заменить существующее приложение на одно, имеющее другое имя. Скорее всего, те, которые вы сейчас используете, хранятся где-то в метаданных проекта, скорее всего, в виде обычного текста.
Крис Стрэттон,

3
Я действительно мог получить псевдоним с помощью команды keytool -list -v -keystore name.keystore. Теперь мне нужно восстановить пароль. Есть ли способ получить пароль ключа псевдонима?
MSIslam

Ответы:


159

На Mac я нашел путь к файлу хранилища ключей, пароль, псевдоним ключа и пароль ключа в более раннем отчете журнала, прежде чем я обновил Android Studio.

Я запустил консольную утилиту и прокрутил вниз до ~ / Library / Logs -> AndroidStudioBeta -> idea.log.1 (или любой старый номер журнала)

Затем я поискал «android.injected.signing.store» и нашел это за более раннюю дату:

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

В Windows

вы можете найти свой потерянный ключевой пароль по пути ниже

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin или ..taskHistory\taskHistory.bin

Вот изображение для просмотра пути в структуре папок

откройте файл с помощью соответствующих инструментов, например NotePad ++, и выполните поиск по той части пароля, которую вы помните. Вы обязательно это найдете. В противном случае попробуйте выполнить поиск с помощью этой строки «signedConfig.storePassword».

Примечание: я испытал то же самое, и я могу это найти. В случае, если вы не нашли, возможно, вы очистили все кеш-файлы и временные файлы.


15
Ты бог. Если вы используете Windows, перейдите по .AndroidStudioX.X (x.x is the version number eg 1.5) > system > log > idea
ссылке

11
Вот это да! Ты спас мой день, мой месяц и мой год! Просто фантастика! :) Но в моем случае (Android 2.2) пароль отображается как: ********. В WindowsC:\Users\yourUser\.Android2.2\system\log\idea.log.1
Франсиско Ромеро

7
@ Error404 Пароль отображается сразу под первой частью *****. У меня это сработало на Android 2.2
Montolide

1
^^ @grant, извините, но я забыл отметить вас в этом ... на случай, если у вас все еще есть проблемы
Kmanc

7
к сожалению, не работает в Windows и Android Studio 3.3. Пароли скрыты с ********
Д.Зотов

120

Я наконец-то смог разобраться в проблеме.

Чтобы получить Key Alias: я скопировал keytool.exe и свой файл хранилища ключей в папку C: \ Program Files \ Java \ jdk1.7.0_71 \ bin. Затем из командной строки я написал: keytool -list -v -keystore <name>.keystore Затем он также запросит пароль хранилища ключей. Затем он покажет вам псевдоним ключа, отпечатки сертификата и другую информацию.

Затем я снова попытался сгенерировать подписанный Apk для проекта, я предоставил хранилище ключей, пароль хранилища ключей, псевдоним ключа и предоставил тот же пароль. Затем он запрашивает мастер-пароль, я пробовал с тем же самым, и это не удалось. С опцией сброса я сбрасываю мастер-пароль здесь.


@JoelDean, не могли бы вы рассказать подробнее? Удалось ли вам сбросить или получить пароль псевдонима хранилища ключей с помощью этого? или просто псевдоним?
rgamber

Я запомнил пароль, поэтому я смог получить псевдоним с помощью этого метода.
Джоэл Дин

Вы можете еще раз объяснить вторую часть своего ответа? !! вы потеряли меня из-за «и предоставили тот же пароль»
Мухаммед Рефаат

1
@MuhammedRefaat тот же пароль, что и пароль хранилища ключей
MSIslam

1
Я знаю свой пароль к хранилищу ключей, но не знаю путь к хранилищу ключей, вы можете мне помочь, где я могу его найти. Я знаю только свой путь к файлу jks и пароль хранилища ключей и keyalias, но не помню ключевой пароль. пожалуйста, помогите
Раджкумар Гур

53

как получить пароль хранилища ключей

Вы не можете восстановить пароль. Если вы его забыли, вы обречены.

как получить ключевой псевдоним

$ keytool -list -v -keystore <store>

Но для этого вам понадобится пароль хранилища ключей.

РЕДАКТИРОВАТЬ

Я не помню ключевой пароль.

Восстановить пароль невозможно. Если вы забыли ключевой пароль навсегда, то вы тоже обречены, и нет другого выхода, кроме как усерднее пытаться его вспомнить. Там нет функции сброса пароля или чего-то подобного.

Имейте в виду, что если вы навсегда забыли свой пароль, вы больше не будете выпускать обновления для своего приложения ( документы ):

Предупреждение: храните хранилище ключей и закрытый ключ в надежном и безопасном месте и убедитесь, что у вас есть надежные резервные копии. Если вы опубликуете приложение в Google Play, а затем потеряете ключ, которым вы подписали свое приложение, вы не сможете публиковать какие-либо обновления для своего приложения, поскольку вы всегда должны подписывать все версии своего приложения одним и тем же ключом.


2
Я помню пароль хранилища ключей. Также у меня есть хранилище ключей, и теперь я вспоминаю Key Alias. Я не помню «ключевой пароль» (поле номер 4 на изображении, о котором идет речь).
MSIslam

Спасибо за ответ. Проголосовал. Я получил псевдоним ключа ранее, как вы упомянули. То, что я столкнулся с проблемой, было ключевым псевдонимом пароля.
MSIslam

но это дает вам только информацию о ключах, включая отпечатки пальцев, но не дает вам самого пароля, что-то, что мне здесь не хватает?
Мухаммед Рефаат

keytool существует также для Mac
János

Вы всегда можете восстановить свой пароль, если вы не отформатировали жесткий диск полностью и не удалили IDE. Как пояснил @Distjoy ниже, я всегда использовал этот способ для восстановления своих паролей.
XIII

24

В Windows - просто откройте файл хранилища ключей в блокноте, и в самой первой строке вы увидите свой псевдоним, написанный английскими буквами.


3
а на Mac вы можете сделать это с помощью TextEdit
Leo Droidcoder

24

Восстановите свой пароль хранилища ключей

100% рабочий

Projects->taskHistory.bin

введите описание изображения здесь

Find->KeyAlias

введите описание изображения здесь

Примечание. Нажмите и просмотрите мои изображения для справки.

Теперь для обновленной истории задач студии Android была изменена история выполнения [!


Это, безусловно, самый простой путь.
JPritchard9518

16

Основываясь на ответе gkemp, в Windows я нашел путь к файлу хранилища ключей, пароль, псевдоним ключа и пароль ключа в более раннем отчете журнала, прежде чем я обновил Android Studio.

Из проводника файлов Windows c: / Users / имя вашего компьютера / .AndroidStudio1.4 (версия вашей студии Android) \ system \ log \ idea.log.1 (или любой старый номер журнала)

Затем я поискал «android.injected.signing.store» и нашел это за более раннюю дату:

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword

14

В ubuntu мы можем найти все пароли, связанные с хранилищем ключей, по заданному пути.

/home/user/.AndroidStudio2.2(current version)/system/log/idea.log.x(older versions)

отредактируйте файл и выполните поиск android.injected.signing.store, тогда вы сможете найти пароли.

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword

14

Чтобы просто восстановить КЛЮЧЕВЫЕ НИКНЕЙМЫ. Введите следующую команду на терминале.

$ keytool -list -v -keystore <storekey>

Это даст информацию, начиная с

Ваше хранилище ключей содержит 2 записи ...

Вы можете найти там псевдоним.


10

Я нашел свой ключевой пароль по пути ниже

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin откройте файл и выполните поиск по той части пароля, которую вы помните. Вы обязательно это найдете.

Кроме того, вы можете сослаться на этот ответ stackoverflow.com/a/43007357/7089151


1
не удалось найти этот файл в android studio 3.0, дайте мне знать, как я могу его получить.
Питер

@Peter Обратитесь к этому: stackoverflow.com/a/43007357/7089151 Изучите taskArtifacts.bin в структуре вашего проекта. Номера версий могут измениться, но все, что вам нужно сделать, это найти файл taskArtifacts.bin
Махарши Адираджу

1
Если папка taskArtifacts не существует, откройте файл taskHistory / taskHistory.bin в текстовом редакторе и найдите часть pwd, которую вы помните.
Advait S

1
Вы, ребята, знаете, как узнать пароль ключа? У меня есть storePassword, но нет KeyPassword.
sommesh

9

Да, вы можете найти потерянный ключ в артефактах задач из Android Studio.

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

для обновленной версии студии Android путь:

Project\.gradle\5.1.1\executionHistory\executionHistory.bin

Откройте файл и выполните поиск, используя ту часть пароля, которую вы помните.

Образец (он будет в этом bin-файле): signingConfig.keyAlias�"key name"�signingConfig.keyPassword�"key password"�signingConfig.storePassword�"Store Password"�

Вы можете выполнить поиск с помощью этой строки «signedConfig.storePassword» или любой строки, указанной в образце строки.

Примечание: я испытал то же самое, и я могу найти это на указанном выше пути. В случае, если вы не нашли, возможно, вы очистили все кеш-файлы и временные файлы.



5

Просто откройте файл ключа (файл .jks) с помощью notepad ++. Вы получите псевдоним в первой строке ...


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

5

Вы можете найти данные своего хранилища ключей без пароля следующим образом.

Выполните команду ( keytool -list -keystore <path>) в командной строке

Вы можете найти Keytool в папке java на моем компьютере, которую я мог найти по следующему пути

C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\<YourKeystore>.Keystore

Затем он попросит вас ввести пароль. Здесь вам не нужно вводить пароль, вместо этого нажмите кнопку со стрелкой вверх и введите его. то будут отображаться те же сведения с предупреждением, как показано ниже.

***************** ПРЕДУПРЕЖДЕНИЕ ПРЕДУПРЕЖДЕНИЕ ПРЕДУПРЕЖДЕНИЕ *****************

  • Целостность информации, хранящейся в вашем хранилище ключей *

  • НЕ проверено! Для проверки его целостности *

  • вы должны указать свой пароль хранилища ключей. *

***************** ПРЕДУПРЕЖДЕНИЕ ПРЕДУПРЕЖДЕНИЕ ПРЕДУПРЕЖДЕНИЕ *****************

Тип хранилища ключей: JKS Поставщик хранилища ключей: SUN

Ваше хранилище ключей содержит 1 запись

samplekey, 26 апреля 2017 г., PrivateKeyEntry, отпечаток сертификата (SHA1): XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX : XX: XX


Спасибо за помощь. да, это написано в верхней строке. Вы можете просто открыть его в блокноте
Мудасар

5

Просто откройте файл yourApp.jks с помощью Блокнота, вы найдете там имя хранилища ключей и псевдоним !!


1
Его зашифрованный. Вы не можете прочитать символы при открытии в блокноте.
Abhinav Raja

Хотя это позволяет вам узнать, какой у вас псевдоним, поскольку псевдоним остается незашифрованным в .jks, это не приближает вас к обнаружению утерянного пароля.
Эван Виланд

1
Псевдоним найден, да! И вспомнил пароль.
Эрик

5

Если вы используете MacOS и отметили поле «Сохранить пароль» в Android Studio, вы можете восстановить пароль из Связки ключей.

  1. Запустите Keychain Access из приложений / утилит.
  2. Выберите пароль в категории на левой панели.
  3. В поле поиска вверху справа введите название вашего Android-приложения или его часть.
  4. Вы увидите строку результата, если вы сохранили пароль.
  5. Дважды щелкните по нему, установите флажок показывать пароль, введите системный пароль, когда его спросят, и он покажет ваш пароль хранилища ключей.

5

К сожалению, приведенные выше решения не подходят для новичков.

Это

keytool -list -v -keystore keystore_name.jks

1
Вышеупомянутое решение даст вам keyAlias, если вы помните пароль хранилища ключей.
Шахил

1

Android Studio 3.0 ниже метод работы:
найдите свой старый заархивированный проект.
Если вы создали apk, вы найдете пароль в файле:

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

Pandroid.injected.signing.store.password = пароль

Если у вас нет заархивированного проекта, поищите в репозиториях git, если у вас установлена ​​папка .gradle или нет.
В противном случае вам придется восстанавливать файлы и искать файлы по содержимому «Pandroid.injected.signing.store.password».



0

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

  • Пункт списка

$ keytool -list -v -keystore имя файла



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.