Android

[구글맵 API] Google Maps Android API: Authorization failure. Ensure that the “Google Maps Android API v2” is enabled 오류 발생 이유와 해결 방법

데이터 가져오는 웹사이트 주소가 변경되어, URL 변경 작업 후 가져온 데이터를 JSON 타입으로 파씽 후 제대로 동작하는지 앱에서 확인하는 작업을 진행중에 있다. 그런데 디버깅용 앱 인증 키를 사용하는데 아래와 같은 오류가 발생한다.

E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
I/ViewRootImpl@21a970d[MainActivity]: Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)8 dur=3 res=0x2 s={false 0x0} ch=false seqId=0
E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
    Ensure that the "Google Maps Android API v2" is enabled.
    Ensure that the following Android Key exists:
    	API Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    	Android Application (<cert_fingerprint>;<package_name>): xxxxxxxxxxxxxxxxxxxxxxxxx;

앱의 패키지이름을 변경한 것도 아니고, 기존에 아무 문제 잘 사용해왔는데 이런 문제가 발생한다면 당신은 나와 같은 기억 망각이 온 것이다. 기억이 나셨남?

오류 발생 원인

Google Maps Android API: Authorization failure. Ensure that the “Google Maps Android API v2” is enabled. 오류가 발생한 이유는 하나이다. 내가 사용하던 PC가 바뀌었기 때문이다. 디버깅용 인증서의 경우 컴퓨터마다 새로 생성 후 SHA1키를 등록해주어야한다.

오류 해결방법

1.구글 클라우드 콘솔 사이트에 로그인 후 확인 작업에 들어갔다. 왼쪽 메뉴 중에 “키 및 사용자 인증 정보” 메뉴를 클릭한다.

2. 실배포용은 문제가 발생하지 않는다. 디버깅용 api키를 클릭해서 정보를 확인한다.

3. Android 제한사항에서 ADD 버튼을 클릭 후 패키지이름과 디지털 지문을 새로 추가해주어야한다.

현재 사용중인 PC에서 생성해야 후 등록해야주어야한다. 그렇지않으면 기존에 인증서를 생성했던 컴퓨터에서 하면 위와 같은 오류는 발생하지않는다.

4. 안드로이드 스튜디오에서 터미널 창을 열고 아래의 명령어중에 당신의 사용하는 컴퓨터의 OS에 맞는 명령어를 실행한다.

디버그 인증서 디지털 지문

Linux 또는 macOS:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Windows:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

5. 디버그용 인증서 지문 생성완료 되면 SHA1 부문의 값을 패키지이름과 함께 디지털 지문으로 등록해준다.

6. 저장 버튼을 누른 후 안드로이드 스튜디오로 돌아와 앱을 다시 빌드해서 실행한다.

Leave a Reply

error: Content is protected !!