ПОМИЛКА: 'keytool' не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма або пакетний файл


138

Коли я використовую команду

C:\>keytool -list -alias androiddebugkey 
            -keystore .android\debug.keystore 
            -storepass android -keypass android

Я отримую цю помилку:

'keytool' не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл.

Я не в змозі отримати відбиток сертифіката (MD5) на своєму комп’ютері.

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

Будь-яка допомога?

Відповіді:


220

Переконайтеся, що каталог, у якому виконується виконуваний клавіш, знаходиться у %PATH%змінній вашого середовища.

Наприклад, на моїй машині Windows 7 він є C:\Program Files (x86)\Java\jre6\bin, і моя %PATH%змінна виглядає так C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(і багато інших записів)


я ввійшов до цього C: \ Program Files \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. помилка, яку я отримав, - це помилка keytool: java.lang.Exception: Файл Keystore не існує: .android \ debug .keystore
Shalini

Якщо ви це зробите, то буде шукати сховище ключів, до C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystoreякого майже напевно не правильний шлях. Вам потрібно надати правильний повний шлях до вашої магазині брелоків.
Бен Вільямс

1
тут зберігається файл клавіатури C: \ Документи та налаштування \ Shalini \ .android> тому коли я ввожу C: \ Документи та параметри \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -випуск Android. я отримую цю саму помилку 'keytool' не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл.
Шаліні

14
СпробуйтеC:\Program Files\Java\jdk1.6.0_21\bin\keytool -list -alias androiddebugkey -keystore C:\Documents and Settings\Shalini\.android\debug.keystore -storepass android -keypass android
Бен Вільямс

ОК, я ввійшов у цей C: \ Документи та налаштування \ Shalini \ .android> C: \ Файли програм \ Java \ jdk1.6.0_21 \ bin \ keytool -list -alias androiddebugkey -keystore C: \ Документи та налаштування \ Shalini \ .android \ debug.keystore -storepass android -keypass android. помилка - це ім'я файлу, ім'я каталогу чи синтаксис мітки томів, неправильне.
Шаліні

92

Це працювало для мене !! :

Перейдіть на цей шлях або коли-небудь у вас є файл keytool.exe

C:\Program Files\Java\jre7\bin

Утримуйте shiftта клацніть правою кнопкою миші ->, а потім натиснітьOpen command window here

термінал з'явиться, вставте це:

keytool -list -v -keystore "C:\Users\"Your-User-Name(no quotes)"\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

дає вам як MD5, так і SHA1


Це працює, але відповідь @ Amt87 переконається, що у вас є доступний keytool у будь-якому каталозі, без того, щоб спочатку перейти до каталогу, де знаходиться keytool (лише для Windows). в OS X (Mac) відредагуйте .profile і обов'язково включіть: $ PATH наприкінці, або у вас не буде ніяких команд. (див. architectryan.com/2012/10/02/… )
хитрологія

68

Знайшов це.

ЙТИ ДО:

my computer->rightClick->properties->Advanced system settings->environment variables->find path in system variables->dbl click-> paste the "C:\Program Files\Java\jdk1.6.0_16\bin"->OK

ЙТИ ДО:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android

10
  1. Перейдіть на Мій комп'ютер -> клацніть правою кнопкою миші -> властивості системи -> змінні середовища -> Шлях -> додайте вам jdk / bin до цього шляху

    C:\Program Files\Java\jdk1.8.0_211\bin

* якщо це не працює тоді

  1. У cmd встановіть шлях за допомогою команди нижче

    set PATH=C:\Program Files\Java\jdk1.8.0_211\bin

тепер встановлено шлях, тепер ви можете використовувати keytool


Дякую, в Windows 10 я спробував перше рішення, і чомусь не вийшло. 2-й працює чудово.
NineCattoRules

Дякую. Другий варіант працював для мене в Windows 10 x64
mdhz

9

У Windows 8 перейдіть до C: \ Program Files \ Java \ jre7 \ bin та в адресному рядку введіть "cmd" без лапок. Це запустить термінал. Потім введіть рядок, як описано тут .


8

Отже, якщо у вас є така структура зараз:

 C:\Program Files\Java\jre6\bin\
                                keytool.exe
                                debug.keystore

потім виконати:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 

У мене jdk-13 .. у нього немає файлу jre. Як я можу це вирішити
raman raman

5

Переконайтесь, що JAVA_HOME встановлено, а шлях у змінних оточення відображає каталог бін JAVA_HOME. В основному, PATH повинен мати можливість знайти файл keytools.exe у вашому jdk-місці.


5

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

C:\Program Files (x86)\Java\jre7\bin>
C:\Program Files (x86)\Java\jre7\bin>keytool -list -v -keystore"%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android



Alias name: androiddebugkey
Creation date: 23 Feb, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 479d4fe7
Valid from: Sun Feb 23 06:19:02 IST 2014 until: Tue Feb 16 06:19:02 IST 2044
Certificate fingerprints:
MD5:  DB:6A:8E:48:22:5B:37:73:B1:91:EF:43:3F:26:F0:EC
SHA1: B4:6B:2E:5F:5A:30:C5:E4:E7:12:BB:F0:74:FC:2B:43:64:3A:FC:15
SHA256: CB:59:F3:20:7D:5B:87:99:6C:0D:32:79:79:CF:4E:8C:16:C2:37:81:7B:
B0:AF:D2:EC:3C:11:21:53:58:62:F6
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: FA 96 17 9E 94 73 C3 42   F0 4B 55 5B C7 5B EE BB  .....s.B.KU[.[..
0010: C3 E5 D3 61                                        ...a
]
]

1
Який із них - ключовий хеш, а який - хеш-ключ розробки, а який - хеш-ключ випуску?
TPWang

4

Легко, просто знайдіть місце, де виконується виконуваний клавіш, як правило, є java/jre(Version)/binприкладом на моєму комп’ютері C:\Program Files\Java\jre7\bin. все, що вам потрібно зробити, - це перейти до змінних середовища , натисніть PATH, щоб активувати його, потім натисніть кнопку редагувати, а потім додати повний шлях, де є ваш keytool , для мене я додам, що C:\Program Files\Java\jre7\binце дозволить вам виконувати команди keytool, не переходячи до каталогу, де встановлений keytool.


3

якщо ви хочете запустити keytool з будь-якого місця терміналу

приклад: C:> keytool

вам потрібно додати системні змінні

для Windows:

1) create:
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_45

2) add to Path
%JAVA_HOME%\bin;

2

Це означає, що ваша оболонка не змогла знайти інструмент на вашому жорсткому диску.

А)

  • Змініть робочий каталог на C:\Program Files\Java\jre6\bin\
  • Виконати keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

Б)

  • Додайте C:\Program Files\Java\jre6\bin\до PATHзмінної

2

У моєму випадку проблема полягала у використанні PowerShell замість CMD :)


2

Я багато страждав, намагаючись знайти рішення, і, нарешті, знайшов рішення, спочатку встановивши шлях jre до системних змінних, перейшовши до ::

control panel > System and Security > System > Advanced system settings 

У розділі Системні змінні натисніть на нове

Variable name: KEY_PATH
Variable value: C:\Program Files (x86)\Java\jre1.8.0_171\bin

Де значенням змінної має бути шлях до папки бін вашого JDK.

Потім відкрийте командний рядок та змініть каталог у тій же папці бін JDK, як ця

C:\Program Files (x86)\Java\jre1.8.0_171\bin 

потім скопіюйте та вставте код нижче в cmd

keytool -list -v -keystore "C:\Users\user\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android   

1

Дайте:

keytool -list -keystore ~/.android/debug.keystore

Також у вашому рядку є простір у магазині ключів. Будь ласка, перевірте це.


1

Відкрийте "Змінні середовища" (до нього можна дістатись із пошуку в меню "Пуск" в Win10), двічі перевірте шлях, на якому знаходиться jdk, щоб переконатися, що він існує. Для мене він сказав "... jdk1.8 / bin", але коли я скопіював це в Провідник Windows або командний рядок, він сказав, що його не існує. Я перевірив, де це мало бути, і він сказав "jdk1.8.0_77"

Просте перейменування налаштування в Android Studio та keytool працювало!


0

Працює на чудово

Перейдіть на Шлях

C:\Program Files\Java\jre7\bin> keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Developer\.android\debug.keystore"

Потім введіть пароль Ketsore і виконану роботу !!


0

Відкрийте командний рядок, введіть це ..

"c: \ програмні файли (x86) \ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C: \ Users \ EIS.android \ debug.keystore" -storepass android -keypass android

Потім натисніть клавішу Enter MD5 і ключ SHA1 отримає


0

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

Перш за все, каталог до keytool.exe повинен бути на шляху

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



0

Знайдіть, де ваш keytool.exe всередині інсталяційної папки Java

шахта C:\Program Files\Java\jre1.8.0_181\binвідкрита cmd де завгодно і працює

SET PATH=%PATH%;C:\Program Files\Java\jre1.8.0_181\bin;

змінити шлях до шляху, на якому знаходився ваш keytool.exe


0

Моя справа полягає в тому, що вона не працює там, де я її називаю, незалежно від того, спрямовую я до файлу чи ні, якщо я відкрию його з shellhell.

але це працює, якщо я відкрию його з cmd.


0

Просто знайдіть наступний шлях: C: \ → Файли програм → Java → jre1.xxx → bin,
переконайтеся, що ця папка містить цей keytool.exe

Потім відкрийте командний рядок.

потім введіть: (cd означає змінити каталог) cd C: \ Program Files \ Java \ jre1.8.0_231 \ bin

Потім введіть команду та натисніть клавішу Enter


0

Команда keytool може не бути на вашому шляху - це частина Java, яка встановлена ​​як частина Android Studio. Для конкретного шляху запустіть flutter doctor -v та знайдіть шлях, надрукований після 'Java binary at:'. Потім використовуйте цілком кваліфікований шлях, замінюючи java (в кінці) keytool. Якщо ваш шлях включає імена, розділені пробілом, наприклад файли програм, використовуйте відповідну платформу позначення для імен. Наприклад, на Mac / Linux використовують Program \ Files, а в Windows - "Program Files".


0

Просте рішення помилки полягає в тому, що спочатку потрібно змінити каталог папок у командному рядку. За замовчуванням в командному рядку або на терміналі (Внутрішня студія Android внизу) шлях встановлено на C: \ Користувачі # Ім'я вашого ПК, який ви вибрали \ AndroidStudioProjects # ім'я програми \ flutter_app> Змінити відповідно: - C: \ Користувачі # Ім'я вашого ПК, який ви вибрали \ AndroidStudioProjects # ім'я програми \ flutter_app> cd \

введіть ** cd ** (#after flutter_app>), введіть лише cd \ not кома

потім введіть програмні файли cd \ Java \ jre1.8.0_251 \ bin (#remember, щоб перевірити ім'я файлу jre належним чином)

тепер введіть keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (без простору введіть команду).

скріншот кодів для запуску


-2
  1. Відкрийте, де ваш файл KEYTOOL.EXE у вашому файліJAVA, наприклад, наприклад: C: \ Program Files \ Java \ bin \ keytool.exe.

  2. HOLD SHIFT і клацніть правою кнопкою миші на папці BIN, де знаходиться ваш keytool.exe, і натисніть тут відкрити команду CMD або RUN.

  3. Це відкриває cmd. потім введіть

keytool -exportcert -alias ІМЕНЕ ВАШОГО КЛЮЧА -keystore PATH OF KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binary |" C: \ OpenSSL \ bin \ openssl "base64

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