keytool을 찾아서 실행하는 방법


185

여기 에서 Facebook 개발자의 개발 가이드를 읽고 있습니다

keytool을 사용하여 내 앱의 서명을 내 보내야한다고 말합니다.

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

keytool을 실행하는 방법을 모르겠습니다. Windows 명령 프롬프트를 열고 위의 명령을 붙여 넣으려고했지만 작동하지 않았습니다.


/usr/local/java/bin# ./keytoolWindows를 실행하는 경우 Linux 기반 시스템 을 실행하는 경우find the JDK install path and check bin folder
Elshan

답변:


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 : \ 프로그램 파일 \ 자바 \ jre1.8.0_111 \ 빈 \ keytool.exe
제이미 몬토야

9
또는 C : \ Program Files \ Android \ Android Studio \ jre \ bin
SHAHM

감사합니다 @SHAHM : Java AGAIN을 명시 적으로 다운로드하지 않고 매주 최신 버전으로 업그레이드하기를 원치 않는 사람들에게 좋습니다.
Pete Alvin

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를 사용하십시오.
Broo

릴리스 버전 다음 줄에 사용합니다. 1) cd C : \ Program Files \ 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.
귀 스타 프 Liljegren

80

안드로이드 키 해시 코드를 얻으려면 다음 단계를 따르십시오 (Facebook 앱의 경우)

  1. windows 용 openssl을 여기에서 다운로드 하십시오.
  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. bin 폴더 내에서 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"를 입력 한 후 쓰레기를 내뿜습니다 ... 제 생각에 올바른 인코딩을 사용하고 있지 않습니까? "blah"와 같은 것을 입력하면 암호가 잘못되었다는 메시지가 나타납니다. "android"를 입력하면 암호가 정확하다는 것을 알고 있습니다
ArtOfWarfare

나는 문제가 나는 플래그 -list 떨어져 왼쪽 -v 한 것을 발견했다
ArtOfWarfare

21

keytool은 JDK의 일부입니다.

%{JAVA_HOME}\exec 문 앞에 또는 을 추가하십시오 c:\{path to jdk}\bin.


cer 파일과 truststore 파일을 같은 디렉토리에 "%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은 jdk의 일부이며 $ JAVA_HOME / bin / keytool이어야합니다.


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에서 제공하는 모든 명령을 실행하십시오.

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

Enter 키를 누른 후 질문에 대답해야합니다 (cmd 줄에 값을 입력하는 것과 같습니다)! 키가 생성됩니다


3

keytool은 JDK bin 디렉토리 ($ JAVA_HOME / bin)에 있습니다. JAVA_HOME은 JDK 설치 디렉토리입니다. 해당 명령 행을 사용하려면 PATH 환경 변수에 $ JAVA_HOME / bin을 포함시켜야합니다.


3

Android : Android에서 keytool 명령을 실행할 위치

JRE가 클래스 경로 변수에 설정된 경우 dos 명령 프롬프트에서 Keytool 명령을 실행할 수 있습니다.

예를 들어 Android 용 SDK 디버그 인증서의 MD5 지문을 얻으려면

다음 명령을 실행하십시오 ...

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

아래에서 Richar Heap의 도움을 받아 그의 게시물을 볼 수 있습니다. 나는 이것을 전에 보았지만 잊었다. https://stackoverflow.com/a/51524526/4446406


2

KEYTOOL은 JAVAC SDK에 있으므로 javac를 포함 하는 디렉토리에서 찾아야합니다.


2

Xamarin / mobile 개발 지원과 함께 Visual Studio를 설치 한 C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\경우 필자의 경우와 같이 여기에 Java가 설치됩니다 .


1

keytoolJDK와 함께 제공됩니다. cygwin을 사용하는 경우 이미 경로에 있습니다. 그렇지 않으면 JDK의 bin 폴더를 파헤칠 수 있습니다.

어쨌든 쉘 파이프 ( |)가 작동 하려면 cygwin을 사용해야 합니다.


아래 명령을 실행하는 방법을 알려주시겠습니까? keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | openssl sha1-이진 | openssl base64
Nguyen Minh Binh

1
그래, 내가 했어. 위의 명령을 실행할 때 CMD는 'openssl'이 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않는다고 말합니다.
Nguyen Minh Binh

cygwin의 설정을 통해서도 openssl 패키지를 설치해야합니다.
Matthew Willis

1
openssl 패키지를 이미 설치했습니다. 문제가 여전히 발생합니다 :(
Nguyen Minh Binh

openssl을 단독으로 실행할 수 있습니까? "열기"를 입력하고 탭을 누르면 어떤 옵션이 표시됩니까?
Matthew Willis

1

동일한 문제가 발생하는 동안 몇 가지 관찰 (Windows). 1. 쉘 파이프가 중요합니다. 2. OpenSSL 또는 Cygwin을 사용하는 경우 반드시 설치해야합니다. 3. keytool은 JDK와 함께 제공되므로 명령에서 지정하거나 JDK / bin 폴더 (exe가 상주하는 폴더)로 cd해야합니다. 4. 디버그 키 저장소는 일반적으로 ~ / .android / debug.keystore에 있습니다. 5. 암호는 -keypass 또는 프롬프트가 표시 될 때 "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기존 APK 파일의 SHA-1 지문을 가져와야했습니다. App 디렉토리에서 다음 명령을 실행하여 얻는 방법은 다음과 같습니다.

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

당신이 한 점을 감안 시스템에 자바 바람직하게는 JDK를 설치 (당신이 당신의 질문에 언급하기 때문에 Windows 용 응답)는 설치의에 keytool 유틸리티가 있어야 bin폴더에 있습니다.

이 경우 다음에 수행 할 수있는 작업은 해당 bin 폴더를PATH Windows 설치 환경 변수추가하는 것 입니다.

다음에 Windows 쉘을 열고 입력 keytool하면 실제 유틸리티를 실행할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.