2013-06-16 3 views
3

이 문제에 관해 많은 질문을 발견했습니다.Google지도 API V2 - 항상 인증 오류가 발생합니다

하지만 아무리 노력해도 간단합니다. 을 실행하는 Maps API를 전혀 얻지 못합니다!

데모 프로젝트 (com.example.mapdemo)가 아니라 내 프로젝트와 함께.

내 debug.keystore SHA1 지문을 내 앱과 com.example에 모두 등록해야합니다. 모든 사람이 제대로 작동 할 것이라고 말하는 브라우저 API 키도 시도했습니다.

하지만 없습니다.

난 항상 얻을 :

06-16 11:21:29.860: E/Google Maps Android API(2382): Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 

을 나는이 정말 화가, 정말 얻고있다. 그렇지 않으면 Android 앱을 프로그래밍 할 수있는 사람들이 따라 다니고 성공할 수 있도록이 문제를 완전하고 철저하게 설명하지 않는 것이 어떻습니까?

어떻게 되나요?

아무도 나에게 그 밖의 무엇이 잘못 될 수 있는지 말해 줄 수 있습니까?

애드온 : 사양에 따라 모든 것을 정확하게 설정하고, 내 debug.keystore에서 내 키를 가져 왔으며, 맵 데모 용 com.example과 내 앱용 패키지를 사용하여 시도했습니다. 작동하지 않습니다. 플러스 : 바보 같은 빈 창. 어떻게 땅에 거 작업 ... :-(

+0

Oups. 오타를 유감으로 여긴다 ...:-) – Zordid

+0

오늘 같은 문제에 직면했습니다. 이미 작동하는지도가 내 앱에 표시되지 않고 걱정되었습니다. SHA가 변경된지도에서 내 컴퓨터의 현재 SHA를 개발자 사이트로 변경하여 알아 냈습니다. 내 안드로이드 스튜디오를 업데이트했기 때문에 SHA가 debug.keystore에 의존하여 변경되었습니다.) 문제가 해결되었습니다. – Nitesh

+0

오래 전이 질문을 묻는 질문에 언급 한 오류가 여전히 발생합니까? – Nitesh

답변

6

  • 당신은 구글 플레이와 프로젝트를 연결 한 당신이 Google Play 서비스에 액세스 할 수있는 장치에서이 작업을 시도하고

    • 가정이다 서비스 라이브러리
    • 이 같은 필요한 권한 설정이 있습니다 매니페스트에서

    조각 :

    ,691을
    <!-- Specify the correct minSDK and targetSDK versions. --> 
    <uses-sdk 
        android:minSdkVersion="8" 
        android:targetSdkVersion="17" /> 
    
    <!-- Google Maps related permissions --> 
    <permission 
        android:name="com.ecs.google.maps.v2.actionbarsherlock.permission.MAPS_RECEIVE" 
        android:protectionLevel="signature" /> 
    
    <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" /> 
    
    <!-- Network connectivity permissions --> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    
    <!-- Access Google based webservices --> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    
    <!-- External storage for caching. --> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    
    <!-- My Location --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 
    <!-- Maps API needs OpenGL ES 2.0. --> 
    <uses-feature 
        android:glEsVersion="0x00020000" 
        android:required="true" /> 
    
    • 당신은지도 키 같은 설정을 가지고 :

    enter image description here

    • 당신은 내부 응용 프로그램 태그

      <meta-data 
          android:name="com.google.android.maps.v2.API_KEY" 
          android:value="AIzaSyA_u1faIXRhx_Q7NafFbrhQJEerl6UUbPY" /> 
      
    • 를 메타 데이터 태그 를 뒀다
    • 에서 올바른 키 저장소 (API 콘솔에 정의 된 것과 일치)를 사용하여 APK를 작성해야합니다.

    • 이러한 단계를 확인/업데이트 한 후에 응용 프로그램을 완전히 제거했다가 다시 배포했으면 좋겠습니다.

  • 은 내 경험에서 나는 Google Maps Android API v2 Getting started의 지시에 따라 할 수 있었다, 그러나 나는 완전히 배포 취소를 가진 기억과 API 키/권한으로 주위 재생 후 다시 응용 프로그램을 다시 배포 않습니다.

    실행중인 장치는 무엇입니까?

    +0

    예, 모든 가정이 정확합니다. 내 HTC 하나에 그것을 시도하십시오. Google이 무엇을 원하는지, 어떻게 작동해야 하는지를 모릅니다. 지도 데모 앱조차도 작동하지 않습니다. 먼저 어떤 사람들이 말하는 "브라우저"키를 시도한 다음 내 자신의 키를 사용해 보았습니다. 내가 debug.keystore에서 가져 와서 이클립스에서 앱을 배포했다. 나는 그것을 여러 번 완전히 제거했다. 기회 없음. 단순히 작동하지 않습니다. 나는 왜 구글이 무언가를하는지 알고 싶다! 이 메시지는 ALL에서 도움이되지 않습니다. – Zordid

    +2

    나는 며칠 동안 이걸 가지고 싸웠고 튜토리얼을 여러 번했다. 나를 위해 해결 된 것은 단순히 내 휴대 전화에서 응용 프로그램을 제거한 다음 다시 설치하는 것이 었습니다. 내 얼굴에 그때의 모습을 ... :) –

    +1

    @ trevor-e 나는 또한 때로는 응용 프로그램을 다시 설치해야한다는 것을 알아 차렸다. 때때로 오래된 API 키나 유효하지 않은 API 키가 캐싱 된 것처럼 보이고 앱을 간단하게 배포해도 캐시가 새로 고쳐지지 않는 것처럼 보였습니다. 앱을 제거하고 다시 설치하면 일반적으로 도움이됩니다. – ddewaele

    2

    나는 또한 동일한 문제를 가지고 내가 좀 문제 (하지 -yet- 비록에 대한 해결책) 당신의 HTC가 아닌 다른 전화의 당신의 응용 프로그램을 실행하는

    시도 원인이 무엇인지 알고 있어요. 내 HTC One에 문제가 있기 때문에 S3에서 실행하면 완벽하게 실행됩니다.

    에 한번 나를 제발 알고 내가 그것을 해결

    편집 할 수 있습니다. 그러나 정확한 해결책은 무엇인지 모르겠지만 여기서 내가 단계로 한 것은 무엇인지 확실하지 않습니다. 1- 휴대 전화 설정에 개발자 옵션을 표시했습니다. 4.2 OS에서 7 회 클릭을 사용합니다. 2- 허용 된 모의 위치 3 내 앱을 "디버그 응용 프로그램을 선택" 4-,지도가이

    2
    저도 같은 문제가되었다

    하는 데 도움이

    희망

    을 보여 다음 내 응용 프로그램 5가 6 실행을 다시 설치 제거하고 30 초 동안 기다렸다 그때 나는 당신이 구글 API 서비스 콘솔의 "구글 맵스 안드로이드 API v2"를 켰는지를 확인하기 위해 간단한 실수를 한 것을 알았다. 나는 나를 위해 일한 적이없는 잘못된 것을 켜 놓았으나 지금은 효과가있다. 이것이 도움이되기를 바랍니다. https://code.google.com/apis/console

    1

    나는 동일한 문제가있어. Google의 API 콘솔에서지도 V2 Android를 켜고 ddewaele의 답변에서 20 번째 단계를 확인한 후 휴대 전화를 다시 시작하고 다운로드 할 데이터가 15 초 동안 기다렸다가 모든 기능이 매력처럼 보였습니다. 응용 프로그램을 제거하는 것만으로는 충분하지 않았습니다. 그냥 가장자리에 devs를 사용하여 다른지도에 대한 정보를 남겨주세요.

    2

    심지어 며칠 동안 같은 문제에 직면했습니다. 나는 단순히 설정에서 응용 프로그램을 제거하고 다시 설치했으며 마술처럼 효과가있었습니다.

    +1

    슬프게도 나를 위해 그 트릭을하지 못했습니다. 아직도이 문제에 직면 해 있습니다 ... – Zordid

    0

    나는 똑같은 문제가있다. 나는 해결책을 얻기 위해 2 주를 보냈다. res/values ​​/ google_maps_api.c에서 키를 제거하고 새로운 키로 다시 채우십시오. 다음 단계를 따르면 새 키를 얻을 수 있습니다.

    1> Find SHA1 by Using that command in command prompt: 
    
    keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 
    
    2> Get Package name from android manifest and use finger print of SHA1 for create an new api key 
    
    
    3> copy created key and past it in res/values/google_maps_api.xml and also past in android manifest 
    
    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">Paste Here New Api</string> 
    </resources> 
    
    <meta-data 
          android:name="com.google.android.geo.API_KEY" 
          android:value="Paste Key Here" /> 
    
    0

    나는 오래된 스레드이지만 몇 달 전에 편집되었으며 같은 문제가 발생했습니다. 문제의 나의 버전의 원인이 조금 다르기 때문에 나는 그것을 여기에 추가 할 것이다. 나는 이전에 언급 된 모든 조건들이 사실인지는 확인했지만 여전히 같은 오류를주었습니다.

    무작위로 물건을 드디어 시도한 결과 마침내 Android Studio의 XML 문자열 번역 관리자가 Google API 키의 동일한 식별자 (기본적으로 다른 XML 파일에 저장 됨)와 함께 새 문자열을 만들었습니다. 다른 문자열). 이 새 문자열 리소스는 실제로 비어 있었고 실제 키로 conficlting했습니다. 문제를 해결하려면 삭제하는 것으로 충분했습니다.