0

나는 하루 동안이 문제에 빠져있었습니다. 나는 따라 왔으며 튜토리얼에서 정확히 똑같이 바뀌었다. 나는 그 문제가 무엇인지 이해할 수 없다. 매번 나는지도가로드되지 않습니다 내 장치에 실행하고 로그 캣에서 말한다 :인증에 실패했습니다. 지도를로드하지 못했습니다. Google 서버에 접속할 수 없습니다. (Android 용 Google지도)

여기
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:map="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" 
    map:cameraTilt="45" 
    map:cameraZoom="14" > 

<fragment 
    android:id="@+id/the_map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
/> 
</RelativeLayout> 

는 AndroidManifest.xml에 다음과 같습니다 :

05-08 16:21:02.130: E/Google Maps Android API(28021): Failed to load map. Could not contact Google servers.

여기 내 레이아웃 main.xml에의

마지막으로
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.gmapactivity" 
    android:versionCode="1" 
    android:versionName="1.0" > 

<permission 
    android:name="com.example.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="com.example.gmapactivity.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

    <activity 
     android:name="com.example.gmapactivity.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

<meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="the-generated-api-key-from-console" /> 
</application> 

</manifest> 

내 MainActivity.java :

package com.example.gmapactivity; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.view.Menu; 

public class MainActivity extends FragmentActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 
} 

이클립스의 기본 디버그 키 저장소 인 내 디버그 키 저장소에서 내 안드로이드 키를 삭제하고 다시 생성했습니다. 생성 된 SHA1 키를 서비스 Google Maps Android API v2를 사용하여 Google API에 사용하고 API 키를 매니페스트에 적용했습니다. 아직도 운이 없다. 누군가가 해결책을 제안 할 수 있다면 매우 감사 할 것입니다.

+0

아마도 덤프 관련 질문에 귀하의 장치는 인터넷 연결이 정상적으로 작동하고 있습니까? – sandkasten

+0

당신은 'android : value'에 키를 추가 했습니까? 당신이 제공 한 매니페스트는 키가 없으며 여기에 설명 목적으로 있습니까? – Abx

+0

콘솔에서 생성 된 API 키를 이미 android : 값에 적용했습니다. 방금 보안상의 이유로 표시하지 않았습니다. –

답변

0

좋아 변경, 내가 제대로하고있다. 그것은 4.0 장치 대신 3.2 안드로이드 장치로 컴파일 한 것뿐입니다. 이제 작동합니다! API 레벨 15의 3.2 버전이 내 targetSdkVersion이 17 일 때 결과를 제공하지 않는 이유를 이해하지 못합니다.

+0

누군가가 여전히 답을 찾으면 여기에서 확인하십시오 - 동일한 문제 : http : // stackoverflow.com/a/17947755/1891118 –

0

당신은 신청 한 잘못된 권한 :

<permission 
android:name="com.example.gmapactivity.permission.MAPS_RECEIVE" 
android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.gmapactivity.permission.MAPS_RECEIVE"/> 

그리고 레이아웃 파일 :

<permission 
    android:name="com.example.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="com.example.gmapactivity.permission.MAPS_RECEIVE"/> 

이 될해야 그 매개 변수 :

map:cameraTilt="45" 
map:cameraZoom="14" 

이 적용되어야 조각이 아니라 RelativeLayout.

+0

전송 : 'map : cameraTilt = "45" 지도 : cameraZoom = "14"' 는 오류를 발생시킵니다. '태그 조각' –

+0

에 대해 예기치 않은 네임 스페이스 접두사 'map'이 있습니다.이 줄을 이동해야하기 때문에 : xmlns : map = "http://schemas.android.com/apk/res-auto"는 주요 RelativeLayout이 아니라 조각 섹션에도 있습니다. –

+0

이전에 해 보았지만 'xmlns : map = "http://schemas.android.com/apk/res-auto"'에 대한 또 다른 오류가 추가됩니다.'예기치 않은 네임 스페이스 접두사 'xmlns가 "태그 조각에 대해 발견되었습니다." –

0

Google APIS의 API 액세스에 패키지를 추가 했습니까?

당신은이 비슷한을 가져야한다

"편집 안드로이드 응용 프로그램 허용"당신은 SHA-1 서명 키 말했고, 두 번째는 응용 프로그램 패키지

같이

FD:F4:....:D2;com.example.gmapactivity 

첫 번째 매개 변수입니다

또한 코드에서, 단편보기 (activity_main.xml)가 아니라 옵션 메뉴에 main.xml을로드합니다. 당신이

setContentView(R.layout.activity_main); 

setContentView(R.layout.main); 
+0

필자의 패키지를 적용했지만 com.example 만 :'FD : F4 : .... : D2; com.example'이 아니라'FD : F4 : .... : D2; com.example.gmapactivity' 또한, 메인 레이아웃이 없기 때문에 '메인을 해결할 수 없거나 필드가 아님'오류가 발생합니다. –

+0

패키지는 AndroidManifest.xml에 정의 된 것과 같아야합니다. 귀하의 의견에 따르면, 전체 패키지는 "com.example.gmapactivity"이므로이 사람이어야합니다 (com.example이 아님). – Corbella

0

당황하지 마십시오. 간단한 방법으로 성공을 거둘 수 있습니다.

다음에 매니페스트 파일 및 Google Play 서비스 라이브러리의 API 키에 대해 매우 알고있는 경우 단계를 따르십시오.

1) 장치 2에서 응용 프로그램) 프로젝트 3 청소) 다시

이 작동합니다 응용 프로그램을 실행을 제거합니다. 그리고이 솔루션은 나를 위해 일했습니다 ..cheers :)

관련 문제