본문 바로가기
카테고리 없음

keytool 명령어를 찾지 못 할 때 해결 방안 (keytool은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.)

by 웅대 2023. 5. 7.
728x90
반응형

카카오 SDK를 사용하기 위해서 키를 생성하려던 중 에러가 발생하였다.

 

다음은 Windows에서 디버그 키를 생성하는 명령어이다.

keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

그런데 keytool 명령어가 작동하지 않았다.

이를 해결하는데 상당히 오랜 시간이 걸렸는데 내가 시도한 방법들을 기록해보려 한다.

 

1. openssl 설치

먼저 openssl을 설치한다.

https://code.google.com/archive/p/openssl-for-windows/downloads

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

자신의 운영 체제에 맞는 버전을 선택하고 다운 후 압축을 해제한다.

 

2. openssl 환경 변수 등록

openssl 명령어를 사용할 수 있도록 환경 변수로 등록해주자.

 

openssl이 존재하는 bin 폴더를 찾는다. 기본적으로C:\Program Files\openssl-0.9.8k_WIN32\bin 경로에 존재할 것이다.

 

환경 변수로 등록하려면 시스템 환경 변수 편집을 검색해서 실행한다.

 

환경 변수에 들어다.

시스템 변수의 Path를 클릭하고 편집을 누른다.

새로 만들기를 클릭하고 openssl이 존재하는 폴더의 위치를 등록해준다.

반드시 터미널 창을 재실행해야 적용이 된다!!

 

한번 터미널 창을 열어서 openssl 명령어를 입력해서 잘 작동하는지 확인해보자.

3. keytool 환경 변수 등록

jdk 설치 폴더의 bin 폴더에 keytool 실행 파일이 존재하는 것을 볼 수 있다.

 

만약 jdk가 설치되지 않았다면 다음 링크에서 os 맞게 설치를 하면 된다.

https://www.oracle.com/kr/java/technologies/downloads/#jdk20-windows

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

기본적인 설치 위치는 C:\Program Files\Java\jdk-17이다.

 

C:\Program Files\Java\jdk-17\bin 폴더 내부에서 keytool.exe 파일이 있는지 확인하고 있다면 해당 폴더의 위치를 환경 변수로 등록해주면 된다.

 

환경 변수로 등록하려면 시스템 환경 변수 편집을 검색해서 실행한다.

 

환경 변수에 들어다.

시스템 변수의 Path를 클릭하고 편집을 누른다.

새로 만들기를 클릭하고 keytool이 존재하는 폴더의 위치를 등록해준다.

반드시 터미널 창을 재실행해야 적용이 된다!!

 

한번 터미널 창을 열어서 keytool 명령어를 입력해서 잘 작동하는지 확인해보자.

 

나는 keytool을 환경 변수로 등록하지 않고 직접 그 위치에서 사용하려고 하니 잘 되지 않았었다.

 

keytool 파일이 존재하는 폴더 안에서 keytool 명령어를 실행해도 잘 되지 않았는데 그럴 경우 관리자 권한으로 cmd 창을 열면 사용할 수 있다.

 

그런데 그냥 openssl, keytool 모두를 환경 변수로 등록을 하는 편이 좋을 듯 하다.

 

이제 다시 디버그 키를 생성하는 명령어를 입력해보자.

keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

 

728x90
반응형

댓글