ОШИБКА:'keytool' не распознается как внутренняя или внешняя команда, работающая программа или командный файл

Когда я использую команду

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

Я получаю эту ошибку:

'keytool' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Я не могу получить сертификат отпечатка пальца (MD5) на моем компьютере.

Я гарантировал, что файл хранилища ключей присутствует в соответствующем месте.

Любая помощь?

33 ответа

Решение

Убедитесь, что каталог, в котором находится исполняемый файл keytool, находится на вашем пути. (Например, на моем компьютере с Windows 7 он находится в C:\Program Files (x86)\Java\jre6\bin.)

Это сработало для меня!:

Перейдите по этому пути или где-нибудь у вас есть файл 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

Нашел это.

ИДТИ К:

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

keytool поставляется с Android Studio как часть JRE, необходимого для запуска Android Studio.

В Windows это: C:\Program Files\Android\Android Studio\jre\bin\keytool.exe

На Mac это: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/keytool

Добавьте его в переменные среды, затем снова запустите команду keytool.

Так что, если у вас есть следующая структура сейчас:

 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 

В Windows 8 перейдите в C:\Program Files\Java\jre7\bin и в адресной строке введите "cmd" без кавычек. Это запустит терминал. Затем введите строку, как описано здесь.

This is due to path not set where keytool.exe present.

Open command prompt in windows machine, traverse where you would like to run keytool cmd and set path where keytool.exe present

Step 1 : Open cmd promt and run"cd C:\Program Files\Java\jdk1.8.0_131\jre\lib\security"

Step 2 : Run below cmd to set path using"set PATH=C:\Program Files\Java\jdk1.8.0_131\bin"

Step 3 : Run keytool cmd, now it will be able to recognize.

Если вы хотите запустить keytool из любого места терминала

пример: C:>keytool

вам нужно добавить системные переменные

для Windows:

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

2) add to Path
%JAVA_HOME%\bin;

Все, что вы можете сделать, это перейти к месту назначения jre на вашем компьютере через командную строку, а затем, как только вы достигнете bin, введите команду 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
]
]

Легко, просто найдите место, где находится исполняемый файл keytool, обычно в java/jre(Version)/bin Например, в моем компьютере C:\Program Files\Java\jre7\bin, все, что вам нужно сделать, это перейти к переменным окружения, нажать PATH, чтобы сделать его активным, затем нажать edit, затем добавить полный путь, где находится ваш keytool, для меня я добавлю C:\Program Files\Java\jre7\bin это позволит вам выполнять команды keytool, не заходя в каталог, где установлен keytool.

Я много страдал, пытаясь найти решение, и, наконец, я нашел решение, сначала установив путь 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

Где значение переменной должно быть путем к папке bin вашего JDK.

Затем откройте командную строку и смените каталог на ту же папку bin 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   

Убедитесь, что JAVA_HOME установлен, а путь в переменных окружения отражает каталог bin JAVA_HOME. По сути, PATH должен быть в состоянии найти файл keytools.exe в вашем местоположении jdk.

Это означает, что ваша оболочка не может найти инструмент на вашем жестком диске.

A)

  • Измените рабочий каталог на 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

B)

  • добавлять C:\Program Files\Java\jre6\bin\ на ваш PATH переменная

Если вы используете флаттер и загрузили openssl-for-windows:

  • Открыть командную строку
  • Тип flutter doctor -v
  • В наборе инструментов Android вы увидите Java binary at: C:\Program Files\Android\jre\bin\java
  • Теперь скопируйте строку кода и выполните cd C:\Program Files\Android\jre\bin
  • Тип keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Username\.android\debug.keystore" | "Location to openssl.exe" sha1 -binary | "Location to openssl.exe" base64

(Необходимы двойные кавычки)

  • Введите пароль хранилища ключей: android (пароль по умолчанию)

Это даст вам Key Hash.

В моем случае проблема заключалась в использовании PowerShell вместо CMD:)

я использую инструмент графического интерфейса, должен попробовать Кто не хочет использовать командную строку хранилища ключей

это инструмент с графическим интерфейсом для создания keystore.jks и экспорта файла pem и лота .

https://keystore-explorer.org/downloads.html

  1. Перейдите в C:->Program Files->Java->jdk->bin. Здесь находится файл keytool.exe. 2. Скопируйте путь до корзины. 3.Перейдите в: Панель управления \ Система и безопасность \ Система 4. Щелкните Расширенные настройки системы 5. Щелкните Переменные среды 6. В разделе Системные переменные (нижняя половина): Дважды щелкните Переменная: Путь Б. Добавьте путь: (Нажмите Создать, затем добавить)C:\Program Files\Java\jdk1.8.0_191\bin(ваш путь)8. ПРОВЕРЬТЕ: откройте командную строку и введите «Keytool». Он должен показать детали keytool и сообщение об ошибке отсутствует.

Простое решение ошибки заключается в том, что вам сначала нужно изменить каталог папки в командной строке. По умолчанию в командной строке или на вкладке терминала (внутри Android studio внизу) путь установлен на C:\Users# Имя вашего ПК, которое вы выбрали \AndroidStudioProjects#app name\flutter_app>Измените соответственно:-C:\Users# Имя вашего ПК, которое вы выбрали \AndroidStudioProjects#app name\flutter_app>cd\

введите **cd** (#after flutter_app>), введите только cd \ без запятых

затем введите cd Program Files \ Java \ jre1.8.0_251 \ bin (# запомните, чтобы правильно проверить имя файла jre)

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

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

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

Прежде всего, каталог к ​​keytool.exe должен быть в пути

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

Дать:

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

Также в вашей строке есть место в хранилище ключей. Пожалуйста, проверь это.

Это просто означает, что ключевое слово keytool не установлено в вашем системном визите: посетите здесь и сначала загрузите java JDK .

Затем установите java JDK в переменной среды.

Добавлять C:\Program Files\Java\jdk-15.0.1\binэто в переменные среды. обратитесь к этому сайту. https://codewithandrea.com/articles/keytool-command-not-found-how-to-fix-windows-macos/

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

Простое переименование настроек в Android Studio и keytool работало!

В моем случае это не работает, где бы я ни называл его, независимо от того, указываю я путь к файлу или нет, если я открою его с помощью powershell.

но он работает, если я открою его с помощью cmd.

откройте Дополнительные системные настройки -> откройте переменную среды -> в системной переменной дважды щелкните «Путь» -> скопируйте свой путь jdk из C, он должен быть таким: «C:\Program Files\Java\jdk-15.0.2\bin "и вставьте его после нажатия на" Создать "-> щелкните" ОК ", затем перезапустите студию Android, это должно решить проблему.

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

Найдите, где ваш 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

Откройте командную строку, введите это..

"c: \ Program Files (x86) \ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C: \ Users \ EIS.android \ debug.keystore" -storepass android -keypass андроид

Затем нажмите Enter, MD5 и ключ SHA1 получит

Для Windows 10 вам нужно путь C:\Program Files\Java\jre1.8.0_161\bin

перезапустите команду и откройте

Другие вопросы по тегам