Як отримати псевдонім ключа та пароль ключа для підписаного файлу .apk в android studio (перенесено з Eclipse)


89

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

Натисніть правою кнопкою миші на проекті, "Інструменти Android" -> експортуйте підписаний пакет програм. Надайте пароль сховища ключів. Підпишіть програму. Завантажте файл .apk у консоль розробника Google Play.

Нещодавно я імпортував проект із Eclipse в Android Studio і продовжував працювати над Android Studio. Зараз я планую внести виправлення в програму. Я зрозумів, що у мене є така можливість підписати apk в android studio

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

Відповідно до мого розуміння, для мого додатка для Android я повинен використовувати той самий магазин ключів та пароль сховища ключів, який я використовував раніше для надсилання оновлень у Google Play. Також тут він запитує псевдонім ключа та пароль. Я не пам’ятаю Псевдонім ключа та пароль ключа (введення цифри 4 на зображенні) під час підписання apk в Eclipse. Будь-яка пропозиція, що я можу зробити зараз? Якщо я вже знаю своє сховище ключів і пароль сховища ключів, чи є спосіб отримати псевдонім ключа та пароль псевдоніма?

Оновлення: Тепер я можу отримати свій псевдонім ключа за допомогою команди keytool -list -v -keystore name.keystore


"під час підписання apk у Eclipse не було опції як псевдонім ключа або пароля ключа" - у моєму Eclipse є плагін ADT. Насправді неможливо створити ключ без псевдоніма.
CommonsWare

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

2
Якщо у вас є пароль магазину ключів, keytoolможливо , ви зможете перелічити псевдоніми. Минув якийсь час, як я возився з keytoolвручну.
CommonsWare

1
Ні, це не нормально створювати нові, якщо ви не хочете перейти на новий ключ і змусити своїх користувачів втратити свої дані програми (і принаймні тих, хто отримує програму через ігровий магазин), щоб замінити існуючу програму на інша назва. Швидше за все ті, якими ви зараз користуєтесь, зберігаються десь у метаданих проекту, цілком імовірно як звичайний текст.
Кріс Страттон,

3
Я насправді міг отримати псевдонім за допомогою команди keytool -list -v -keystore name.keystore. Тепер мені потрібно отримати пароль. Чи є спосіб відновити пароль ключа псевдоніма?
MSIslam,

Відповіді:


159

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

Я запустив утиліту Console і прокрутив вниз до ~ / 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 ++, і виконайте пошук за тією частиною пароля, яку ви пам’ятаєте. Ви точно знайдете. В іншому випадку спробуйте здійснити пошук за допомогою цього рядка "signatureConfig.storePassword".

Примітка: Я пережив те саме, і я можу його знайти. Якщо ви не знайшли, можливо, ви очистили весь кеш і тимчасові файли.


14
Ти бог. Якщо у вас Windows, перейдіть до.AndroidStudioX.X (x.x is the version number eg 1.5) > system > log > idea
Pztar

10
Оце Так! Ти врятував мій день, мій місяць і мій рік! Просто фантастично! :) Але в моєму випадку (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

Нарешті я міг зрозуміти проблему.

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

Потім я знову спробував створити підписаний Apk для проекту, я надав сховище ключів, пароль сховища ключів, псевдонім ключів і вказав той самий пароль. Потім він запитує головний пароль, я спробував з тим самим, і це не вдалося. За допомогою опції скидання я скидаю головний пароль тут.


@JoelDean, ти можеш надати більше деталей? Чи вдалося вам скинути або отримати свій псевдонім сховища ключів, використовуючи це? чи просто псевдонім?
Rgamber

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

Ви можете пояснити другу частину Вашої відповіді? !! ви втратили мене від "і надали той самий пароль"
Мухаммед Рефаат

1
@MuhammedRefaat той самий пароль, що і пароль
зберігання

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

52

як отримати пароль сховища ключів -

Ви не можете отримати пароль. Якщо ви це забули, ви приречені.

як отримати псевдонім ключа -

$ keytool -list -v -keystore <store>

Але вам спочатку потрібен пароль сховища ключів.

РЕДАГУВАТИ

Чого я не пам’ятаю, це «Пароль ключа»

Жоден пароль не може бути відновлений. Якщо ви назавжди забули ключ-ключ, то ви теж приречені, і немає іншого шляху, ніж намагатися його більше згадати. Тут немає нічого про скидання пароля і нічого подібного.

Майте на увазі, що якщо ви назавжди забули свій пароль, ви більше не оновлюватимете свій додаток ( документи ):

Попередження: Зберігайте сховище ключів та приватний ключ у надійному та надійному місці та переконайтесь, що у вас є надійні резервні копії. Якщо ви опублікуєте програму в Google Play, а потім загубите ключ, за допомогою якого підписали програму, ви не зможете публікувати жодні оновлення програми, оскільки ви завжди повинні підписувати всі версії програми одним і тим же ключем.


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

Дякую за відповідь. Проголосував. Я фактично отримав ключовий псевдонім раніше, як і той самий спосіб, про який ви згадали. Я зіткнувся з проблемою - ключовим псевдонімом пароль.
MSIslam

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

keytool існує також для Mac
Янос

Ви завжди можете відновити свій пароль, якщо не повністю відформатували жорсткий диск і не видалили IDE. Як пояснював @Distjoy нижче, я завжди використовував цей спосіб для відновлення своїх паролів.
XIII

24

У вікнах - просто відкрийте файл зберігання ключів у блокноті, і в першому рядку - ви побачите свій псевдонім, написаний англійським літером.


3
а на Mac ви можете зробити це за допомогою TextEdit
Leo Droidcoder

24

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

100% працює

Projects->taskHistory.bin

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

Find->KeyAlias

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

Примітка: Клацніть і перегляньте мої зображення для довідки

Тепер для оновленої історії завдань Android Studio історія була змінена на історію виконання [!


Це найпростіший шлях.
JPritchard9518

16

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

З провідника файлів Windows c: / Користувачі / ім’я вашого ПК / .AndroidStudio1.4 (версія Android Studio) \ 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
Maharshi Adiraju

1
Якщо папка taskArtifacts не існує, відкрийте файл taskHistory / taskHistory.bin у текстовому редакторі та знайдіть частину pwd, яку ви пам’ятаєте.
Advait S,

1
Ви, хлопці, маєте уявлення про те, як знайти пароль ключа? У мене є storePassword, але у мене немає KeyPassword.
sommesh

9

Так, ви можете знайти свій загублений ключ в артефактах завдання з Android Studio.

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

для оновленої версії android studio шлях:

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

Відкрийте файл і виконайте пошук за тією частиною пароля, яку ви пам’ятаєте.

Зразок (це буде у цьому файлі кошика): signingConfig.keyAlias�"key name"�signingConfig.keyPassword�"key password"�signingConfig.storePassword�"Store Password"�

Ви можете здійснювати пошук за допомогою цього рядка “signConfig.storePassword” або будь-якого рядка, вказаного у зразку рядка

Примітка: Я пережив те саме, і я можу знайти це за вищевказаним шляхом. Якщо ви не знайшли, можливо, ви очистили весь кеш і тимчасові файли.


6

Якщо пошук в журналах не допомагає, ви також можете спробувати застосувати грубий примусовий пароль - перевірте метод 3 у цій публікації - Відновлення пароля Android KeyStore .

У цій публікації SO також є більше відповідей.


Ти врятував мені стільки часу. Дякую;)))
Ліам Керніган,

5

Просто відкрийте файл ключа (файл .jks) за допомогою notepad ++. Ви отримаєте псевдонім у першому рядку ...


Це не приносить нічого нового, Лакі Рана це вже висвітлила.
Едуардо Ернандес,

5

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

Виконайте команду ( keytool -list -keystore <path>) у командному рядку

Ви можете знайти Keytool у папці Java на моїй машині, я міг знайти з наступного шляху

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

Потім він попросить вас ввести пароль. Тут вам не потрібно вводити пароль замість цього, натисніть кнопку зі стрілкою вгору та введіть його. тоді будуть відображені ті самі деталі із попереджувальним повідомленням, що й нижче.

***************** ПОПЕРЕДЖЕННЯ ПОПЕРЕДЖЕННЯ ПОПЕРЕДЖЕННЯ *****************

  • Цілісність інформації, що зберігається у вашому магазині ключів *

  • НЕ перевірено! Для того, щоб перевірити його цілісність, *

  • Ви повинні надати пароль свого магазину ключів. *

***************** ПОПЕРЕДЖЕННЯ ПОПЕРЕДЖЕННЯ ПОПЕРЕДЖЕННЯ *****************

Тип магазину ключів: JKS Постачальник магазину ключів: НД

У вашому магазині ключів є 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


Дякую за допомогу. так, це написано у верхньому рядку. ви можете просто відкрити його в блокноті
Мудасар

5

Просто відкрийте файл yourApp.jks за допомогою Блокнота, там ви знайдете ім'я Keystore & Alias ​​!!


1
Його зашифровано. Ви не можете прочитати символи, коли відкриваєте їх у блокноті.
Абхінав Раджа

Хоча це дозволяє вам дізнатися, яким є ваш псевдонім, оскільки псевдонім залишається незашифрованим у .jks, це не наближає вас до виявлення втраченого пароля.
Еван Віланд,

1
Псевдонім знайдений, так! І запам'ятав пароль.
Ерік,

5

Якщо ви випадково знаходитесь на MacOS і встановили прапорець "зберегти пароль" в Android Studio, ви можете відновити пароль із доступу до брелока.

  1. Запустіть доступ до брелока з додатків / утиліт.
  2. Виберіть пароль у категорії на лівій панелі.
  3. У полі пошуку вгорі праворуч введіть назву програми для Android або частину назви програми.
  4. Ви побачите рядок результатів, якщо ви зберегли пароль.
  5. Двічі клацніть на ньому, встановіть прапорець Показати пароль, введіть системний пароль, коли вас попросять, і він покаже ваш пароль від магазину ключів.

5

На жаль, наведені вище рішення не є зручними для початківців.

Його

keytool -list -v -keystore keystore_name.jks

1
Наведене вище рішення дасть вам keyAlias ​​за умови запам'ятовування пароля сховища ключів.
shahil

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.