이 게시물을 무단으로 사용하는 행위(비영리, 영리 포함)는 CCL 2.0 저작자 표시-비영리-변경금지 라이센스에 의거하여 금지되어 있습니다. 원본 글의 출처 및 저작자를 표시해 주신다면 글의 스크랩은 자유롭게 하실 수 있습니다. 단, 비영리 목적의 발표(스터디 등)에 위 글을 사용하고 싶으신 분은 제게 미리 메일로 문의 부탁드립니다.
저작권과 관련된 자세한 사항은 이곳을 참조해 주시기 바랍니다.
저작권과 관련된 자세한 사항은 이곳을 참조해 주시기 바랍니다.
지금까지 써왔던 것들은 모두 안드로이드 기본 패키지에 들어가있던 것들로, 별도의 라이브러리 설정이 필요가 없었습니다. 하지만, 구글맵의 경우 추가로 구글에서 제공하는 API를 사용하는 것이기에 타겟도 구글맵 라이브러리가 포함된 타겟을 사용해야 하고, 메니페스트 파일에 추가로 선언도 해 주어야 합니다. 그 전에, 구글맵 API를 제데로 사용하려면 우선 "인증"의 과정이 필요합니다.
구글맵 API가 오픈되어있지만, 결국 사용자들이 API를 통해 정보를 요구하면 구글맵 서버로부터 정보를 받아오게 됩니다. 그러다보니 아무나 마구 API를 사용할 수 있게 한다면 서버에 과부하가 일어날 가능성이 높겠죠?? 그래서 구글에서는 API를 사용하려는 사람에게 API Key를 발급해주고, 그 키를 가진 사람만이 지도 정보를 받아올 수 있도록 하고 있습니다.
구글맵을 사용하기 위해서 필요한 API Key를 발급받기 위해서는 일종의 "개발자 인증"이라고도 할 수 있는 keystore를 이용하여 MD5 Fingerprint를 생성한 후, 생성된 Fingerprint를 가지고 API 키를 발급받아야 합니다. 이 keystore는 나중에 어플리케이션을 개발하여 마켓에 등록하기 전 어플케이션 서명을 할 때 꼭 필요한 것으로, 여기에서는 테스트에 사용되는 debug keystore를 사용하지만 실제로 마켓에 올리거나 단말기에 어플리케이션을 올릴 때에는 자신의 keystore를 사용하여야 합니다.
그럼, 본격적으로 MD5 Fingerprint를 얻는 방법에 대해서 알아보겠습니다.
MD5 Fingerprint를 얻기 위해서는 keytool이라는 툴을 이용하여야 하는데, 이 keytool은 안드로이드 SDK 내에 있는 것이 아니라 [JDK가 설치된 폴더]/bin 폴더 내에 있습니다.
keytool을 이용하려면 명령 프롬프트를 이용하여야 하는데, 이때 JDK의 Path가 설정되어 있지 않으면 매우 불편합니다. JDK의 Path가 등록되어 있는 경우도 있지만, 등록되어 있지 않을 경우 수동으로 등록해주도록 합시다. 내 컴퓨터 - 속성을 선택한 후, 고급 탭의 [환경 변수] 버튼을 누르면 아래와 같은 화면이 표시됩니다.
여기에서, 아래의 시스템 변수 목록 중 Path 항목을 선택한 후, 편집을 눌러 아래와 같이 맨 마지막 항목 각 항목을 구분지어주는 문자인 세미콜론(;)을 입력한 후, JDK의 bin 폴더의 경로를 입력한 후, 확인을 눌러주시면 됩니다.
Path가 제데로 등록 되었다면, 본격적으로 MD5 Fingerprint를 생성할 차례입니다.
안드로이드 어플리케이션 테스트에 사용되느 디버그용 keystore는 윈도우 XP 기준으로 C:\Documents and Settings\[사용자 계정명]\.android 폴더 내에 debug.keystore라는 이름으로 저장되어있습니다.
여기에서 아래와 같이 입력합니다.
keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android
잠시 기다리면 아래와 같이 생성된 MD5 Fingerprint가 표시됩니다.
잘 복사하시고, 이것을 http://code.google.com/android/maps-api-signup.html 에 가신 후, MD5 Fingerprint를 입력하고, 구글 계정으로 로그인하면 API Key가 발급됩니다.
동의 찍고 Generate API Key 누르고~~
생성된 MD5 Fingerprint를 입력한 후, Generate API Key 버튼을 누르시면 아래와 같이 사용자 키가 발급됩니다.
이 사용자 키는 잃어버리지 않게 유의하셔야 합니다. 앞으로 동일한 개발환경에서는 이 API Key를 사용하여 구글맵 API를 사용할 수 있으며, 만약 개발환경이 바뀐 경우에는 다시 API Key를 발급받아야 정상적으로 구글맵 API를 사용할 수 있습니다.
이로써 구글맵 API를 이용하기 위한 준비 절차가 모두 끝났습니다.
다음시간부터는 본격적으로 어플리케이션에서 구글맵을 이용하는 방법에 대해 알아보도록 하겠습니다 :)
100108
'위치 기반 서비스 사용하기 > Google Maps 사용하기' 카테고리의 다른 글
| Google Maps Android API v2 사용하기 (ICS 이하 단말기 지원하기 : SupportMapFragment) (5) | 2013/01/13 |
|---|---|
| Google Maps Android API v2 사용하기 (인증 및 초기설정, 지도 띄우기) (88) | 2012/12/07 |
| 구글맵 API 활용하기 - (2) 구글맵 띄워보기 (68) | 2010/01/08 |
| 구글맵 API 활용하기 - (1) MD5 Fingerprint 생성, API Key 발급받기 (42) | 2010/01/08 |
| 구글맵 API 활용하기 - (3) 지도에 확대/축소 기능 추가하기 (47) | 2009/11/12 |
안드로이드 정보, 강좌를 누구보다 빨리 접하고 싶으신가요?
그렇다면 이메일 구독 혹은
를 통해 업데이트되는 최신 글들을 받아보실 수 있습니다. :)
TRACKBACK http://androidhuman.tistory.com/trackback/130
-
구글맵 API 활용하기 - (1) MD5 Fingerprint 생성, API Key 발급받기 삭제
2010/05/03 11:33TRACKBACK FROM bluish wolfshow





댓글을 달아 주세요
염치 불구하고 또 질문 올립니다.
2009/11/23 11:23 [ ADDR : EDIT/ DEL : REPLY ]apikey를 가져왔는데도 에러 표시가 사라지지 않더군요.
혹시 경로중에 한글이 섞여있으면 안되는 것인지요? 그렇다면 이것또한 AVD 처럼 경로를 옮겨줘야 하나요?
경로와 상관 없습니다.
2009/11/23 21:22 [ ADDR : EDIT/ DEL ]저대로 해도 안되는 거라면 왜 안되는지 모르겠네요;;
LogCat이라도 보는게 어덜까요?
맵 원래 잘 떴는데 5개월만에 다시 하려니가 왜 안뜰까요..
2009/11/23 19:24 [ ADDR : EDIT/ DEL : REPLY ]api키가 잘못됐나 싶어서 키도 다시 받았는데 계속 안되네요.....
LogCat에 Log가 뜰지 안뜰지 모르겠지만 한번 확인해보세요.
2009/11/23 21:23 [ ADDR : EDIT/ DEL ]위의 과정대로 하면 떠야 정상인데 안뜨는 건 원인이 무엇인지 잘 모르겠네요.
안드로이드를 공부하는 학생인대요
2010/01/20 14:59 [ ADDR : EDIT/ DEL : REPLY ]재가 요즘 구글맵 API 활용법에 대해서 공부하는대
커니님 강좌에서 많이 따다가 만들었는대요
상업적은 아니고 공부용으로 자료를 좀 만들어서 그런대
퍼가는거 허락해 주실수 있으신가요?
원본 링크는 자료에 달아 놓았습니다.
출처만 밝혀주신다면 얼마든지 가능합니다
2010/01/20 15:55 [ ADDR : EDIT/ DEL ]알려주신 방법대로 하는데
2010/03/01 22:04 [ ADDR : EDIT/ DEL : REPLY ]cmd창에서 keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 을 입력하면
'keytool'은<는> 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다. 라고 자꾸뜨는데 왜 이런거죠??
아무곳에서나 위 명령을 사용하도록 하려면 PATH 등록이 되어있어야 합니다.
2010/03/01 23:15 [ ADDR : EDIT/ DEL ]위 글에 PATH 등록하는 부분도 기술되어 있으니 확인해보고 다시 해보세요~
도움되는 자료가 너무 많네요 ^^ 앞으로도 많이 참고하도록 할께요 좋은 자료 감사합니다~!
2010/04/01 19:07 [ ADDR : EDIT/ DEL : REPLY ]안녕하세요~^^ 안드로이드를 공부하고 있는 학생입니다~
2010/04/28 12:53 [ ADDR : EDIT/ DEL : REPLY ]다름이 아니라~ 님께서 가르쳐주신대로 API key를 받으려고 하는데
MD5 Fingerprint에서 계속 오류가 나네요~ 오류 내용은 --> 'keytool오류 : java.lang.Exception : keystore 파일이 없습니다 : debug.keystore' 이렇게 뜨네요~ㅠ 왜그런걸까요? 답변좀 부탁드릴께요~ㅠ
debug.keystore 파일이 있는 폴더에서 실행해 주셨는지요??
2010/04/28 17:01 [ ADDR : EDIT/ DEL ]저도 같은 증상이 떠서 크게 2가지 문제가 있는 거 같아 각기 시도를 해봤는데.
2010/12/13 21:00 [ ADDR : EDIT/ DEL ]1. keytool path를 시스템변수에서 설정했는데 이게 문제가 된것인가 하고(아무리 생각해도 이건 문제가 아니지만..) 직접 cmd 가서 keytool 돌려봤구요.
2. cmd -> .android 폴더 -> 위에 적힌 명령어 입력
근데도 같은 증상
책을 찾아보니, 명령어에 차이가 있었는데
[keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android]
여기에서 -alias androiddebugkey 부분을 뺐더니 받을 수 있었습니다.(책에서는 빠져있었습니다.)
댓글 달린것은 오래됐지만, 후에 같은 문제 생기는 분께 도움이 되었으면 합니다.
최고! 웬만한 책보다 더 낫네요 ㅠㅠ
2010/08/12 23:41 [ ADDR : EDIT/ DEL : REPLY ]아~ 정말 잘 봤습니다. 참고가 많이 되었습니다!
2010/10/07 18:53 [ ADDR : EDIT/ DEL : REPLY ]Oreilly 책에서 MJAndroid 에서부터 막혀서..-_-;;
그것도 책 첫부분이라.. 영~ 기분이 좋지 않았는데.~
정말 쉽게 설명해 주셔서 감사합니다^^
질문 하나만 드리겠습니다 ^^ 너무 늦었지만........
2010/10/08 21:24 [ ADDR : EDIT/ DEL : REPLY ]다름이 아니라 md5 값을 제대로 받았는데
커니님의 강좌에 나와있는 스크린샷이랑 좀 달라서요.....
도스창에서보면 "인증서지문(md5)"이런식으로 되어 있는데 저는 그냥 "(md5)"라고 되어 있구요
그리고 그 값을 구글에 등록시키려면 올바른 값이 아니라고 하네요..........
이때 제가 할 수 있는 일은 뭐가 있을까요..??
키스토어 파일이 잘못되어 있을 수도 있곘네요. 한번 그 파일을 삭제하고 아무 프로젝트나 빌드하여 실행하면 다시 키스토어 파일이 생길겁니다.
2010/10/10 15:35 [ ADDR : EDIT/ DEL ]다시 생성된 키스토어 파일로 시도해보세요~
죄송하지만..^^ 한번만 더 여쭤볼게요.. keystore 지우고 다시 깔아보고 이클립스, 자바 플러그인 안드로이드 sdk, 심지어 윈도 재설치후 다시 설치했는데도 http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=18420
2010/10/11 10:38 [ ADDR : EDIT/ DEL : REPLY ]이런 현상이 지속되어서요........... 심지어 다른 컴퓨터에서 생성한 제대로된 개인 키스토어를 제 컴퓨터로 보내도 이상한 키가 생성되더라구요.........
이런 현상은 처음 보는거네요..... 인터넷에 keytool로 검색해서 이 증상에 대한 정확한 해결 방안을 찾아보는 것이 좋을 것 같네요.
2010/10/12 12:29 [ ADDR : EDIT/ DEL ]저는 커니님 말대로 했다가
2011/03/01 20:07 [ ADDR : EDIT/ DEL : REPLY ][2011-03-01 19:23:16 - GPS] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
이런 에러가 떠서
왜 이런가 찾다가 한가지 고치는 방법을 찾았는데
보통 sdk manager에서 virtual device 를 셋팅을 하고난후 이클립스에서 api선택시 구글 api로 전환하는데
이렇게되면 이클립스 셋팅이 잘못하면 예전 보통의 안드로이드 api의 환경에서 실행이 되기에
uses library 에 com.google.android.maps를 추가시 핸드폰 환경 덕에 실행이 안되지요 그렇기에
이클립스 위의 탭에서
Windows -> andorid SDK and AVD Manager에서
갖고있는 avd를 edit 하여 target 을 google api로 다시 전환후
skin: 의 bulit in 에서 화면을 다시 조정해야합니다
그리고나서 실행하였더니 전 확실하게 됬고여
커니님의 튜토리얼에 다시한번 감사드립니다.
그럼이제 맵 확장 축소로 갑니다 저는 헤헤
2011/03/01 20:12 [ ADDR : EDIT/ DEL : REPLY ]PATH 설정마치고 keytool.exe.실행을 했는데 창이 뜨자마자 꺼지네요...
2011/04/10 17:13 [ ADDR : EDIT/ DEL : REPLY ]뭐가 문제일까요..
그냥 실행하면 안되고 명령 표시줄에서 실행해야합니다.
2011/04/12 00:49 [ ADDR : EDIT/ DEL ]물론 적절한 매개변수와 함께요.....
최근은 이클립스 ADT를 통해 다 생성 가능하니 그걸 사용하시는게 더 편합니다.
안녕하세요 구글맵 API키 받는 과정에서
2011/08/18 02:02 [ ADDR : EDIT/ DEL : REPLY ]인증서 지문<SHA1> 이런식으로 나오는데
어떻게 해야되나요 ??
흠;; 그런 경우는 처음이라 잘 모르겠네요...;
2011/08/18 22:03 [ ADDR : EDIT/ DEL ]위와 똑같이 입력했는데 MD5가 아니라 SHA로 나오는건가요?
"-list" 앞에 "-v"를 넣으면 MD5 및 다른 모든게 나오네요..
2011/10/06 18:46 [ ADDR : EDIT/ DEL ]구글 계정 인정받은걸로 apiKey 값을 다른 컴퓨터에서 작업해도 사용할수있는건가요???
2011/08/20 23:26 [ ADDR : EDIT/ DEL : REPLY ]컴퓨터마다 디버그용 keystore가 다르므로 같은 키를 사용할 수 없습니다. 단, 같은 keystore를 사용한다면 해당 keystore를 사용하여 받은 apikey를 사용하면 다른 컴퓨터에서도 사용할 수 있습니다.
2011/08/21 21:20 [ ADDR : EDIT/ DEL ]너무 쉽게 설명해 주셔서 너무나 감사 합니다.
2011/09/21 21:31 [ ADDR : EDIT/ DEL : REPLY ]MD5 fingerprint까지 받고.. googe site에서 Keygen 까지 하였는데..
API Key가 나와야 할 곳에
"??? ??? ???? ????. ????? '??' ??? ?? ? ??? ?? ??? ??? ???. "
라고 나오는데요.. 이건 어케 해결 해야 하나요??
커니님의 문서를 많이 활용하고 있습니다.. 언제나 저만치 앞서가셔서.. 너무나 부럽습니당...
브라우저의 인코딩 설정이 혹시 잘못된 것 아닐까요?
2011/09/23 10:20 [ ADDR : EDIT/ DEL ]인코딩 설정을 변경해보시거나 다른 브라우저에서(....) 한번 시도해보세요~
C:\Users\Owner\.android> keytool -list -alias androiddebugkey -keystore debug.key store -storepass android -keypass android -v
2011/11/29 10:17 [ ADDR : EDIT/ DEL : REPLY ]위와 같이 입력해야, MD5, SHA1, SHA256 다 나오는 군요. 웹페이지에서 입력해야할 것은 MD5값이고, keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 만 하면, SHA1 값만 나와서 유효하지 않은 값이라 나옵니다.
수정이 필요할 것 같네요.
일반적인 경우에는 저 명령어로 잘 나옵니다.
2011/11/29 14:45 [ ADDR : EDIT/ DEL ]저도 여러 환경에서 테스트해봤지만 아직 저 명령어로 안나오는 경우는 없네요. 공식 문서에도 저 명령어만 나와있구요.
http://code.google.com/intl/ko-KR/android/add-ons/google-apis/mapkey.html
혹시 환경이 어떻게 되는지 알 수 있을까요?
좋은 정보 늘 감사히 잘 읽고 있습니다. 개정판(2판)은 1판이 있어서 구입은 안했고 학교 도서관에 신청해서 읽어보고 있습니다. 본론으로 들어가서 질문을 드리면 일단 테스트용으로 구글 key를 받아서 넣어서 제 폰에서 실행해보니
2012/05/23 10:18 [ ADDR : EDIT/ DEL : REPLY ]잘되더라구요. 그런데 제가 apk 파일을 export해서 다른 분들 핸드폰에서 돌려보면 구글맵 마커이미지는 잘 나오는데
맵 배경이 체크무늬로 나타나더라구요. 이런 현상을 없애려면 어떻게 해야하는지.. 잘 모르겠어서 이렇게 질문
남기고 갑니다. 감사합니다.
실제 기기에서 맵뷰를 테스트하려면 디버그용 키가 아닌 실제 자신이 생성한 키를 사용하여 애플리케이션을 서명해야 합니다.
2012/05/23 19:22 [ ADDR : EDIT/ DEL ]키 저장소 파일이 존재하지 않다는건 무엇이죠...
2012/07/17 12:46 [ ADDR : EDIT/ DEL : REPLY ]커니님, MD5키를 얻는 도중 의문점이 생겨서 여쭤봅니다.
2012/07/30 17:24 [ ADDR : EDIT/ DEL : REPLY ]사용자명/.android 경로를 가서 cmd창을 켜고, keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 이 명령어를 넣으면 SHA1키만 나오거든요.. 저만그런걸까요?
그래서 keytool -v -list -keystore debug.keystore -keypass android -storepass android -alias androiddebugkey
이렇게 바꾸어보니, 모든 키 값이 나오네요.. 왜 그런걸까요?
저도 정확히는 모르겠습니다.
2012/07/31 14:06 [ ADDR : EDIT/ DEL ]적어도 제가 테스트했던 컴퓨터들에서는 저 명령어만으로도 잘 나왔었는데, 아직까지 어떤 환경이 영향을 미치는 것인지는 모르겠네요 ㅠㅠ
커니님, 마지막에 구글 인증서 적고 동의 체크하고 create눌렀는데
2012/08/02 23:27 [ ADDR : EDIT/ DEL : REPLY ]google ?? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ?
만 뜨고 api 주소는 나오질않는데 그 이유는 무엇인가요?ㅜㅜㅜ
이제 더이상 이 방법을 사용하지 않아도 되나요?????
2012/12/20 18:20 [ ADDR : EDIT/ DEL : REPLY ]기존 구글맵을 사용하시려면 이 방법을 사용하셔야 합니다.
2012/12/20 20:06 [ ADDR : EDIT/ DEL ]하지만 이번에 새로 공개된 안드로이드용 구글맵 v2를 사용하려면 이 방법이랑은 좀 많이(..) 다른 방법을 사용해야 합니다~~
자세한 사항은 http://androidhuman.tistory.com/518 을 참고하세요~
좋은글 출처를 표시하고 블로그에 담아갑니다. ^^
2013/04/15 01:13 [ ADDR : EDIT/ DEL : REPLY ]윈도우 7에서는 어떻게 하는건가요? exe 파일은 실행하자마자 꺼져버리거든요...
2013/04/27 17:10 [ ADDR : EDIT/ DEL : REPLY ]실행파일을 더블클릭해서 실행하는 것이 아니라, 명령 프롬프트에서 실행해야 합니다.
2013/04/28 15:54 [ ADDR : EDIT/ DEL ]