Як знайти та запустити ключовий інструмент


185

Я читав керівництво розвитку Facebook Developers на тут

У ньому сказано, що я повинен використовувати keytool для експорту підпису для свого додатка, наприклад:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Я не знаю, як знайти ключовий інструмент, щоб запустити його. Я спробував відкрити командний рядок Windows та вставити вищевказану команду, але це не вийшло.


якщо ви працюєте на базі системи Linux, /usr/local/java/bin# ./keytoolякщо ви працюєте з Windowsfind the JDK install path and check bin folder
Elshan

я знайшов цей ansour ви можете використовувати його для вирішення PROB stackoverflow.com/a/57390582/13405428
Ашраф alqaabera

Відповіді:


184

Я знайшов рішення сам, як наведено нижче. Це чудово працює.

"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias
> sociallisting -keystore "D:\keystore\SocialListing"  |
> "C:\cygwin\bin\openssl.exe" sha1 -binary | "C:\cygwin\bin\openssl.exe"
> base64

6
Я знайшов це тут: C: \ Program Files \ Java \ jre1.8.0_111 \ bin \ keytool.exe
Jaime Montoya

9
Або C: \ Програмні файли \ Android \ Android Studio \ jre \ bin
SHAHM

Дякуємо @SHAHM: чудово підходить для нас, хто не хоче явно завантажувати Java ПРОТИ і щомісяця запитується, щоб оновити до останньої версії.
Піт Елвін

116

Просто введіть їх у командний рядок Windows.

cd C:\Program Files\Java\jdk1.7.0_09\bin

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\userName\.android\debug.keystore" -list -v

Базовий пароль є android

Ви будете представлені з MD5, SHA1і SHA256ключами; Виберіть потрібну.


3
це працювало для мене. Для ключів налагодження використовуйте -alias androiddebugkey.
Бру

Я використовую для версії випуску наступний рядок: 1) cd C: \ програмні файли \ Java \ jdk1.8.0_162 \ bin та наступні 2) keytool -list -v -keystore "C: \ AndroidProjects \ Project1 \ app \ myapp.keystore "
Андрій Росте

2
keytool error: java.lang.Exception: Only one command is allowed: both -exportcert and -list were specified.
Gustaf Liljegren

80

Щоб отримати хеш-код андроїд-ключа, виконайте наступні дії (для додатків facebook)

  1. Завантажте Opensl для Windows тут
  2. тепер розпакуйте диск c
  3. відкрити підказку cmd
  4. тип cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. то лише введіть keytool -export -alias myAlias -keystore C:\Users\<your user name>\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
  6. Зроблено

Щоб отримати код відбитка пальця сертифіката (MD5), виконайте наступні дії

  1. перейти до - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin
  2. всередині папки бін запустіть jarsigner.exeфайл
  3. відкрити підказку cmd
  4. тип cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. потім знову наберіть на cmd keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
  6. він запитає пароль Keystore зараз. Типовим є " android" тип та введіть
  7. Зроблено.

Це працювало для мене до останнього кроку. Після введення в "android" він викидає сміття ... я здогадуюсь, це не використання належного кодування? Якщо я входжу в щось на кшталт "бла", це говорить мені, що пароль був неправильним. Тож воно знає, що у мене правильний пароль, коли я
набираю

Я виявив, що проблема була в тому, що я залишив прапори -list та -v
ArtOfWarfare

21

keytool є частиною JDK.

Спробуйте додати %{JAVA_HOME}\до оператора exec або c:\{path to jdk}\bin.


Я помістив файл cer та файл довірених файлів у той самий каталог і використав цю команду:"%JAVA_HOME%\bin\keytool" -import -keystore truststore -file certificate.cer -alias my-alias
Todd Hale

13

KeyTool є частиною JDK. Ви знайдете його, якщо припустити, що ви встановили JDK з налаштуваннями за замовчуванням, в$JAVA_HOME/bin


9

Robby Pondвідповідь може бути узагальнена для використання JAVA_HOMEзмінної середовища та для компенсації будь-яких заготовок, які можуть виникнути на шляху (наприклад Program Files):

"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64


4

Keytool є частиною Java SDK. Ви можете знайти його у своєму каталозі Java SDK, наприклад, C: \ Program Files \ Java \ jdk1.6.0_14 \ bin


4

У вікні cmd (потрібно запустити як адміністратор),

cd %JAVA_HOME% 

працює лише в тому випадку, якщо ви встановили змінну системного середовища JAVA_HOME. Щоб налаштувати систему змінної для вашого шляху, ви можете це зробити

setx %JAVA_HOME% C:\Java\jdk1.8.0_121\

Потім ви можете набрати

cd c:\Java\jdk1.8.0_121\bin

або

cd %JAVA_HOME%\bin

Потім виконайте будь-які команди, надані JAVA jdk's, такі як

keytool -genkey -v -keystore myapp.keystore -alias myapp

Ви просто повинні відповісти на питання (еквівалентні набору значень на cmd-рядку) після натискання клавіші enter! Ключ буде створений


3

keytool знаходиться в каталозі бін JDK ($ JAVA_HOME / bin). JAVA_HOME - це ваш каталог встановлення JDK. Щоб використовувати цей командний рядок, ви також повинні включити $ JAVA_HOME / bin до вашої змінної середовища PATH.


3

Android: де запустити команду keytool в android

Команда Keytool може бути запущена у вашому командному рядку dos, якщо JRE встановлений у вашій змінній classpath.

Наприклад, якщо ви хочете отримати відбиток MD5 відбитка сертифікату налагодження SDK для Android,

просто запустіть таку команду ...

C:\Documents and Settings\user\.android>  keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

де C:\Documents and Settings\user\.android>шлях, який містить те, debug.keystoreщо має бути сертифіковано.

Для отримання детальної інформації відвідайте http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint


3

Залежно від вашої версії Eclipse (я використовую Kepler). Перейдіть у Windows> Налаштування> Android> Збірка.

Ви знайдете шлях до місцевого зберігання налагоджувальної клавіатури, а також відбиток SHA1 (який ви можете просто скопіювати та використовувати)


3

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

Android Studio принесе з собою клавішний інструмент.

C:\Program Files\Android\Android Studio\jre\bin

Нижче ви можете ознайомитись з його публікацією Річар Хіпа з корисною довідкою. Я бачив це раніше, але забув про це. https://stackoverflow.com/a/51524526/4446406


2

KEYTOOL знаходиться в JAVAC SDK. Отже, ви повинні знайти його всередині каталогу, який контактує з javac


2

Якщо ви встановили візуальну студію з підтримкою для розробки Xamarin / mobile, у вас буде встановлена ​​Java C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\, як у моєму випадку.


1

keytoolпоставляється з JDK. Якщо ви використовуєте cygwin, то це, мабуть, вже на вашому шляху. В іншому випадку ви можете копатись у папці сміття вашого JDK.

Можливо, вам доведеться використовувати cygwin будь-коли для роботи оболонки ( |).


Не могли б ви сказати мені, як запустити команду нижче? keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | openssl sha1 -бінарний | openssl base64
Nguyen Minh Binh

1
Так. і коли я запускаю команду над командою, CMD кажуть: 'openssl' не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма або пакетний файл.
Nguyen Minh Binh

Можливо, вам також потрібно встановити пакунок openssl через налаштування cygwin.
Меттью Вілліс

1
Я вже встановив пакунок openssl. Проблема все ще виникає :(
Nguyen Minh Binh

Чи можете ви запустити openssl самостійно? Які параметри ви бачите, коли набираєте "відкрити" та натискаєте вкладку?
Меттью Вілліс

1

Трохи спостережень, коли я отримував ту саму проблему (Windows). 1. Оболонка є важливою. 2. Якщо ви використовуєте OpenSSL або Cygwin, безумовно, вам доведеться встановити його. 3. keytool поставляється з JDK, тому або вам потрібно вказати на нього в команді, або у вас є CD в папці JDK / bin (де знаходиться exe). 5. пароль - "android", незалежно від того, перейдете ви його або введіть його, коли буде запропоновано. 6. Для імені псевдоніма ви можете відкрити (НЕ ЗБЕРЕГАТИ, просто відкрийте та закрийте) файл зберігання ключів у будь-якому редакторі та прочитайте його. 7. НАЙБІЛЬШЕ ВАЖЛИВО - Є різниця в тому, щоб вказати шлях до магазину в межах лапок і без. Я працював за допомогою шляху зберігання ключів у подвійних лапках. Як сказав remix090378 і згідно інструкції, ця команда справді спрацювала - cd C: \ Program Files \ Java \ jdk1.7.0_09 \ bin

keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ userName.android \ debug.keystore" -list -v


0

У моєму випадку я вже створив файл APK за допомогою команди, ionic cordova build android --prodі мені потрібно було отримати відбиток пальця SHA-1 для вже наявного файлу APK. Ось як я це отримав, виконавши таку команду в каталозі додатків:

keytool -list -printcert -jarfile app-debug.apk

Отже, я в основному запустив вищевказану команду в наступному розташуванні програми:

C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk

Це дало мені відбиток SHA1 як: 7B:6B:AD:...

Сподіваюся, це допоможе комусь!


0

Зважаючи на те, що у вашій системі встановлено Java та, бажано, JDK (відповідаючи на Windows, оскільки ви згадували про це у своєму запитанні) , у папці вашої установки ви повинні мати утиліту keytool bin.

Якщо це так, то, що можна зробити далі, - додати цю папку бін до PATHзмінної середовища вашої інсталяції Windows.

Наступного разу, коли ви відкриєте оболонку Windows, і введете, keytoolви зможете запустити фактичну утиліту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.