Program Tip

android.gms.maps.MapFragment를 인스턴스화 할 수 없습니다.

programtip 2020. 10. 4. 13:12
반응형

android.gms.maps.MapFragment를 인스턴스화 할 수 없습니다.


매우 간단한 활동으로 Google지도 android v2로 데모를 수행하려고합니다. Google 페이지에서 코드를 복사합니다. https://developers.google.com/maps/documentation/android/start#adding_the_api_key_to_your_application

활동 :

package com.example.mapdemo;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

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

레이아웃 :

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.MapFragment"/>

페이지에 따라 API 키를 신청하고 다음과 같이 androidmanifest.xml 파일을 수정했습니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.wenhai.driverschool"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.INTERNET" />

    <!-- add for map2 -->
    <permission
        android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
    <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" />

    <!-- Maps API needs OpenGL ES 2.0. -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDVAF4WaVSVRDKJx87It8OSFP5txQcPabc" />

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

또한 Eclipse의 google-play-services_lib에 내 앱을 참조합니다.

그러나 매번 logcat에서 다음과 같은 오류보고 :

2-05 16:22:53.609: E/AndroidRuntime(21623): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wenhai.driverschool/com.wenhai.driverschool.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.os.Looper.loop(Looper.java:137)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.main(ActivityThread.java:4441)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.reflect.Method.invoke(Method.java:511)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.NativeStart.main(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:255)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Activity.setContentView(Activity.java:1835)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.java:11)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Activity.performCreate(Activity.java:4465)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 11 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Fragment.instantiate(Fragment.java:581)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Fragment.instantiate(Fragment.java:549)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Activity.onCreateView(Activity.java:4235)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 20 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Fragment.instantiate(Fragment.java:571)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 23 more

그 이유를 모르겠습니다.

내 프로젝트에 google-play-services.jar를 추가하면 다른 오류가보고됩니다.

12-05 16:34:23.269: E/AndroidRuntime(22638): FATAL EXCEPTION: main
12-05 16:34:23.269: E/AndroidRuntime(22638): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Activity.onCreateView(Activity.java:4242)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:255)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Activity.setContentView(Activity.java:1835)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.java:11)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Activity.performCreate(Activity.java:4465)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.os.Looper.loop(Looper.java:137)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.main(ActivityThread.java:4441)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at java.lang.reflect.Method.invoke(Method.java:511)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at dalvik.system.NativeStart.main(Native Method)

누구든지 이것에 대해 나를 도울 수 있습니까?


IntelliJ IDEA (IntelliJ 12 용으로 업데이트 됨) :

  1. ~/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/src/dummy.java포함 하는 파일 만듭니다 class dummy {}.
  2. 파일-> 모듈 가져 오기-> ~/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib
  3. 기존 소스에서 모듈 생성
  4. 다음-> 다음-> 다음-> 다음-> 마침
  5. 파일-> 프로젝트 구조-> 모듈-> YourApp
  6. +-> Module Dependency-> Google-play-services_lib ( +버튼은 대화 상자의 오른쪽 상단에 있습니다.)
  7. +-> Jars 또는 디렉토리->~/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
  8. up/ down화살표를 사용하여 <Module source>목록의 맨 아래 로 이동 하십시오.

원하는 dummy.java경우 삭제할 수 있습니다 .

편집 : 잠시 동안 이것을 사용한 후 작은 결함 / 버그가 있음을 발견했습니다. IDEA는 디렉토리 .iml에서 프로젝트 파일 을 열 수 없다고 불평 할 google-play-services_lib것입니다.하지만 거기에 프로젝트가 있다고 말하지 않았음에도 불구하고 말입니다. 그럴 경우 프로젝트를 재 구축하면 적어도 문제가 발생할 때까지 문제가 해결됩니다.


최신 정보

더 나은 이해를 위해 Commonsware MapV2 코드 스 니펫을 따르십시오.

(옴니버스 에디션에 있음)

https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2

다음 스 니펫은 내 끝에서 잘 작동합니다 SupportMapFragment.

프로젝트 에 추가하는 것을 잊지 google-play-services.jar 마십시오.

MainActivity.java

package com.example.newmapview;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.SupportMapFragment;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SupportMapFragment fragment = new SupportMapFragment();
        getSupportFragmentManager().beginTransaction()
                .add(android.R.id.content, fragment).commit();
    }
}

manifest.xml

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <permission
        android:name="com.example.newmapview.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.example.newmapview.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.newmapview.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="XXXXX" />
    </application>

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

</manifest>

결과는 다음과 같습니다.

여기에 이미지 설명 입력 이것이 도움이되기를 바랍니다.


레이아웃을 다음으로 바꾸십시오.

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
       android:name="com.google.android.gms.maps.SupportMapFragment"
       android:layout_width="wrap_content"
       android:layout_height="match_parent" />

11 미만의 API에 대해 SupportMapFragment를 사용해야합니다!

Aurel


나는 나를 위해 일한 해결책을 찾는 데 며칠이 걸렸던 동일한 문제에 직면했습니다.

  1. 프로젝트를 삭제 google-play-services_lib(오른쪽 삭제 프로젝트 클릭)
  2. Google지도 데모 ( MainActivity제 경우에는)가 포함 된 프로젝트를 삭제하세요.
  3. google-play-services_lib (extras \ google \ google_play_services \ libproject \ google-play-services_lib) 프로젝트를 작업 공간에 복사 한 다음 일반 프로젝트 (파일-> 가져 오기-> 기존 프로젝트를 workspase로 가져 오기)로 가져옵니다.
  4. 지도를로드하려는 프로젝트를 마우스 오른쪽 버튼으로 클릭-> Android-> 추가 (라이브러리 아래) google-play-services_lib

다음과 같은 내용이 표시되어야합니다.

주목

참고 : 다음과 같은 것이 없어야합니다 (프로젝트는 작업 공간에서 참조되어야 함).

여기에 이미지 설명 입력

문제는 tow 프로젝트가 동일한 라이브러리를 참조하고 있다는 것입니다.


이 시도

http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject

방금 Google 서비스 프로젝트를 추가하고 프로젝트 속성-> Android에 참조를 추가했습니다.


  1. 지금까지 데모는 다음 링크를 따라 작동 할 수 있습니다 .
  2. 예를 들어 데모에서도 작동 할 수 있습니다.

프로젝트의 libs 디렉토리에 두 개의 jar를 추가하십시오. 아래 정보를 따르십시오. 특히 다음 사항이 필요하다고 생각합니다.

  • "google-play-services_lib"프로젝트의 실제 소스를 가져 와서 Android 라이브러리로 연결합니다.
    • 프로젝트-> 속성-> Android-> 라이브러리, 추가-> google-play-services_lib를 통해이 작업을 수행합니다 (프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 Android를 선택할 수 있음).
    • 나를 위해 작동하지 않는 프로젝트의 "Java 빌드 경로"를 통해 종속 프로젝트로 추가하지 마십시오.
  • google-play-services.jar 및 android-support-v4.jar을 샘플 프로젝트의 "libs"폴더에 추가하고 "Build Path-> Configure Build Path-> Libraries"에서 "External External JARs"로 추가합니다. .

샘플 코드를 사용하려고 할 때와 똑같은 오류가 발생했기 때문에이 두 번째 단계가 필요하다는 것을 알았습니다. 첫 번째 단계는 실제 프로젝트에서 com.google.android.gms.R $ styleable의 NoClassDefFoundError를 피하기 위해 필요했습니다.

또한 샘플 코드가 작동하기 전에 클린 빌드를 수행하고 장치에서 앱을 제거해야했습니다 (이전 테스트 시도에서).

도와 주셔서 감사합니다.


아마도 당신은 이것을 강조해야합니다 :

참고 : Google Play 서비스는 Android 에뮬레이터에서 지원되지 않습니다. API를 사용하여 개발하려면 Android 휴대 전화 또는 태블릿과 같은 개발 기기를 제공해야합니다.

http://developer.android.com/google/play-services/setup.html

앱을 실행하고 디버깅 할 수있는 물리적 개발 기기를 제공해야합니다. 에뮬레이터를 사용하지 마십시오. 작동하지 않습니다.


에서 당신 MainActivity(또는 당신이 V2 맵을 넣어하려는 각 활동에) 당신이 확장해야 FragmentActivity또는 Activity중 하나를 사용할 SupportMapFragment하거나 MapFragment. MapFragmentAPI 12 이상을 대상으로하는 경우에만 클래스를 사용하십시오 . 그렇지 않으면 SupportMapFragment. 미묘한 차이이지만 오류가 발생합니다.


이제 Google지도가 Fragments로 래핑되어 있으므로 Activity뿐만 아니라 FragmetActivity 에서 활동을 확장 하고 " supporrtMapFragment "를 사용하는 경우 지원 패키지에서만 Fragment를 가져 오는지 확인하세요 .


Intellij Idea 프로젝트에서 google-play-services_lib와 google-play-services.jar을 프로젝트에 추가해야했습니다. 그리고 google-play-services_lib 프로젝트에서 google-play-services.jar도 추가하십시오. 그 후에 여기설명 된 모든 작업을 수행했다면 애플리케이션이 작동해야합니다.


이전 API와 달라서 조금 어려웠지만 해결책을 찾았습니다. Google은 여기서 무엇을해야하는지 말합니다 . 질문에 따라 com.google.android.gms클래스 가 필요 하므로이 링크google play services 와 같이 프로젝트에 추가해야하는 라이브러리 인를 설정 해야합니다 . sdk 폴더에있는 것이 아니라 프로젝트 라이브러리의 복사본을 가져 오는 것이 매우 중요 합니다. 완료되면 Google의 튜토리얼이 완벽하게 진행됩니다.google-play-services_lib


Apart from many of the things mentioned before, to me it was important to mark the .jar also in Order and Export. As far as I can tell, is not usually mentioned and to me it was crucial.

주문 및 내보내기에서 lib 표시


relate to this suggestion : https://stackoverflow.com/a/20215481/3080835

also i had to add this to Application element in the Manifest:

<meta-data 
           android:name="com.google.android.gms.version" 
           android:value="@integer/google_play_services_version" />

and it worked perfectly.


Add this dependency in build.gradle

compile 'com.google.android.gms:play-services:6.5.87'

Now this works

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="388dp"
        android:layout_weight="0.40" />
</LinearLayout>

To take care of the Drive-related imports, you'll need a few jars from the Google Drive SDK. There are a few large ones, so you may want to add them individually to suit your app.

If that doesn't resolve the com.google.android.gms.* imports, the Google Play Services add-on needs to be installed (from Extras -> Google Play Services in the SDK Manager) and google-play-services.jar needs to be added to your build path.

EDIT:

In this case, the following jars were needed:

google-api-services-drive-v2-rev1-1.7.2-beta.jar

google-http-client-1.10.3-beta.jar

google-http-client-android2-1.10.3-beta.jar

google-oauth-client-1.10.1-beta.jar

google-api-client-android2-1.10.3-beta.jar

google-api-client-1.10.3-beta.jar


I had the same problem on my LG-E730 with 2.3.4 Android. The error appears before I've updated Google Play Service on my phone.


Do not forget to actually build the google-play-services_lib!! That's why it shows the "Could not find google-play....apk". For me, on Eclipse, no other hacks were needed, but to reference the project from the Android submenu, not from Java build path, or Project references or whatever else. No manually placed jars, no nothing were actually needed for me.


In Eclipse, it is necessary to create a separate project for google play services and reference it as a lib from your Android project instead of simply adding the jar to it. In my computer I have imported the google play services Eclipse project directly from D:\adt-bundle-windows-x86-20130219\sdk\extras\google\google_play_services\libproject\google-play-services_lib and set it to Lib project so I could reference it from my Android project.


It is stated on the same tutorial that

Please note that the code below is only useful for testing your settings in an application targeting Android API 12 or later

Just change your min SDK version to 12 and it will works

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

Haven's tried Aurel's workaround for older versions of the API yet.


I think it is worth mentioning (after I spent over an hour pulling out my hair) that if you are using MapFragment you cannot use FragmentActivity (SupportMapFragment will function fine in this environment). I was just about ready to give up on it.


First Step http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject Second Step http://developer.android.com/google/play-services/setup.html On that page it has a NOTE but we didn't pay attention

Note: You should be referencing a copy of the library that you copied to your source tree—you should not reference the library from the Android SDK directory.

But I think it's not a good way of documentation :)


This might be of help to some. I had two projects, one which was a copy of the demo from Google and that worked fine. Another I copied into an existing project and I could not get it to run at all. And in the second failing one I was getting the error message described above.

My problem was due to a library not enabled, even though I rebuilt, imported multiple times etc. Right-click on the project -> Properties -> Java Build Path -> Order & Export tab. On the failing project the "Android Private Libraries" tab was unchecked.

Once I enabled it the project worked fine.


i had everything what everyone above was saying and resolved the error by simply calling the super.onCreate(savedInstanceState); as first instruction in oncreate method; before it was last line in method. :| wasted whole day.


I've this issue i just update Google Play services and make sure that you are adding the google-play-service-lib project as dependency, it's working now without any code change but i still getting "The Google Play services resources were not found. Check your project configuration to ensure that the resources are included." but this only happens when you have setMyLocationEnabled(true), anyone knows why?


I don't get the true solution but I solve it after doing these things:
- Tick 'Copy projects into workspace' when importing google-play-services_lib
- Don't set the minSdkVersion below 13
- If you get error with theme, try changing your layout theme to any system theme
- Re-create your project from scratch or revert everything if you get it from somewhere


I got the same problem and just Installed Play Services from SDK and all problems fly away.


I wrote in the activity
import com.google.android.gms.maps.SupportMapFragment;

and Eclipse gave me the red icon > click > fix projec setup.. > add archive google-play-services.jar

And finnaly it worked!!


Add Google Play Services to Your Project

To make the Google Play services APIs available to your app:

follow the steps present in this link : http://developer.android.com/google/play-services/setup.html#Setup


I faced this issue while using Android SDK for x86 in a Windows 7 64-bit machine. I downloaded the Android SDK 64-bit version, made Eclipse see it in Window > Preferences > Android > SDK location and the issue stopped occurring.


Please read carefully

모든 것이 Google 코드와 동일하게 작동하면 내 경우에 매니페스트 파일을 확인하십시오. 지역 키와 맵 키를 추가했기 때문에 예외가 발생합니다.

참고-매니페스트 파일에 두 개의 키를 추가하지 마십시오. 맵 키 제거

meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_key"/>

이 코드를 추가하십시오.

 <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/auto_location"/>

 <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

참고 URL : https://stackoverflow.com/questions/13719263/unable-instantiate-android-gms-maps-mapfragment

반응형