오류 : 'keytool'이 (가) 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다


138

내가 명령을 사용할 때

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

이 오류가 발생합니다.

'keytool'은 내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.

컴퓨터에서 인증서 지문 (MD5)을 얻을 수 없습니다.

키 저장소 파일이 적절한 위치에 있는지 확인했습니다.

어떤 도움?

답변:


220

keytool 실행 파일이있는 디렉토리가 %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 : \ Documents and Settings \ Shalini \ .android>이므로 C : \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android를 입력하면 -keypass android입니다. 이 동일한 오류 'keytool'이 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.
Shalini

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 : \ Documents and Settings \ Shalini \ .android> 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. 오류는 파일 이름, 디렉토리 이름 또는 볼륨 레이블 구문이 올바르지 않습니다.
Shalini 2016 년

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이있는 디렉토리로 먼저 cd하지 않고 모든 디렉토리에서 keytool을 사용할 수 있도록합니다 (Windows 만 해당). OS X (Mac)에서 .profile을 편집하고 끝에 : $ PATH를 포함 시키십시오. 그렇지 않으면 명령이 없습니다. ( architectryan.com/2012/10/02/… 참조 )
tricknology

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에서 첫 번째 솔루션을 시도했지만 몇 가지 이유로 작동하지 않았습니다. 두 번째는 훌륭하게 작동합니다.
NineCattoRules

감사. 윈도우 10 64에 나를 위해 일한 두 번째 옵션
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의 bin 디렉토리를 반영하는지 확인하십시오. 기본적으로 PATH는 jdk 위치에서 keytools.exe 파일을 찾을 수 있어야합니다.


5

명령 줄을 통해 컴퓨터에서 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
]
]

1
이 중 어느 것이 키 해시이고 어느 것이 개발 키 해시이고 어느 것이 릴리스 키 해시입니까?
TPWang

4

쉽게, keytool 실행 파일이있는 위치를 찾으십시오. 일반적으로 java/jre(Version)/bin예를 들어 컴퓨터에 C:\Program Files\Java\jre7\bin있습니다. 모두 당신이해야 할 것은 환경 변수로 이동 , 그것을 활성화하고 다음 편집을 클릭 키 도구이고 전체 경로를 추가 할 수 있도록 PATH를 클릭 내가 추가 할 것입니다 나를 위해, C:\Program Files\Java\jre7\bin이 디렉터리 곳으로 이동하지 않고 키 도구 명령을 실행할 수 있습니다 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

내 경우에는 CMD 대신 PowerShell을 사용하는 데 문제가있었습니다. :)


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의 bin 폴더에 대한 경로 여야합니다.

그런 다음 명령 프롬프트를 열고 디렉토리를 이와 같은 JDK의 bin 폴더로 변경하십시오.

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 : \ 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 키가 나타납니다.


0

나는 이미 몇 가지 답변이 있지만 그중 누구도 나를 위해 일한 적이 없다는 것을 알고 있으므로 나를 위해 일한 사람을 게시하고 누군가에게 도움이 될 수 있습니다.

keytool.exe의 모든 디렉토리는 경로에 있어야합니다.

디렉토리에 경로 대신 오류가 발생하면 관리자 대신 일반 사용자로 명령 줄을 시작하거나 디렉토리를 홈 디렉토리로 변경하십시오.


0

Windows 10의 경우 경로를 지정해야합니다 C:\Program Files\Java\jre1.8.0_161\bin

명령을 다시 시작하고 엽니 다


0

Java 설치 폴더에서 keytool.exe를 찾으십시오.

광산은 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

내 경우는 파일을 경로에 관계없이 파일을 경로에 관계없이 Powershell로 열면 작동하지 않습니다.

하지만 cmd로 열면 작동합니다.


0

C : \ → Program Files → Java → jre1.xxx → bin 경로를 검색
하십시오. bin 폴더에이 keytool.exe가 포함되어 있는지 확인하십시오.

그런 다음 명령 프롬프트를여십시오.

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 : \ Users # 선택한 PC 이름 \ AndroidStudioProjects # app name \ flutter_app>로 설정 됩니다. 그에 따라 변경 : -C : \ Users # 선택한 PC 이름 \ AndroidStudioProjects # 앱 이름 \ 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 (공백을 입력하지 않고 명령).

실행할 코드의 스크린 샷


-2
  1. C : \ Program Files \ Java \ bin \ keytool.exe와 같은 JAVA 파일에서 KEYTOOL.EXE을 (를) 엽니 다.

  2. Shift 키를 누른 상태에서 keytool.exe가있는 BIN 폴더를 마우스 오른쪽 단추로 클릭하고 여기에서 CMD 또는 RUN 명령 열기를 클릭하십시오.

  3. cmd가 열립니다. 그런 다음 입력

keytool -exportcert -alias 키 저장소 이름 -keystore KEYSTORE.jks의 경로 "|"C : \ OpenSSL \ bin \ openssl "sha1 -binary |"C : \ OpenSSL \ bin \ openssl "base64

  1. 비밀번호 프롬프트, android 및 BOOOOOOOM 입력 ... 키가 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.