Google Maps API - Level-2- Sample-Code - Android Studio

Ich versuche, führen Sie das Beispiel Google Maps Android API v2, finden Sie auf dieser Seite in Android Studio.

Meine Frage ist, warum bin ich immer die android.view.InflateException: Binary XML file line #2: Error inflating class fragment gezeigt, in der logcat unten?

Umgebung:
IDE: Android Studio 1.0.1
Gerät: Galaxy Nexus, Android version 4.2.1

Habe ich schaute auf die Fragen und versucht, die vorgeschlagenen Lösungen aber nichts hat funktioniert.

Meisten anderen Fragen wurden mit einem FragmentActivity nötig und eine SupportMapFragment aber ich bin mit einem normalen Activity und MapFragment wie im Beispiel dargestellt auf der web-Seite. Ich bin mit einem minimum API level 15, so dachte ich, die FragmentActivity und SupportMapFragment waren nicht erforderlich.

Habe ich kopiert die Beispiel-code direkt aus dem web Seite.

Den Fehler aus dem logcat. (Nur das erste bit).

02-12 19:59:49.496  23891-23891/edu.utexas.scottm.googlemapsapi_2_demo E/AndroidRuntime FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.utexas.scottm.googlemapsapi_2_demo/edu.utexas.scottm.googlemapsapi_2_demo.SimpleMapActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)

Layout-Datei activity_simple_map.xml (kopiert aus der web-Seite zitiert)

<?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"
    android:name="com.google.android.gms.maps.MapFragment"/>

Aktivität (kopiert von der Webseite zitiert)

package edu.utexas.scottm.googlemapsapi_2_demo;

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


public class SimpleMapActivity extends Activity {

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

Die manifest-Datei (mit meinem Google MAPS-API-Schlüssel zu entfernen).

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="edu.utexas.scottm.googlemapsapi_2_demo" >

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

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".SimpleMapActivity"
            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.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.MY_API_KEY"
            android:value="MY_API_KEY"/>
    </application>

</manifest>

Den build.gradle-Datei für das Modul: app

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "edu.utexas.scottm.googlemapsapi_2_demo"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

Erstellt habe ich ein Android-Studio-Projekt aus den Google Play Services-Beispiel-apps gefunden, in \android-sdk\extras\google\google_play_services\samples\maps und es funktioniert auf dem Gerät, aber dies nutzt FragmentActivity und SupportMapFragment.

Jegliche Hilfe würde sehr geschätzt werden.

Ganze logcat im Falle Bedarf:

02-12 19:59:49.496  23891-23891/edu.utexas.scottm.googlemapsapi_2_demo E/AndroidRuntime FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.utexas.scottm.googlemapsapi_2_demo/edu.utexas.scottm.googlemapsapi_2_demo.SimpleMapActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
            at android.app.ActivityThread.access$600(ActivityThread.java:141)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5039)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
            at android.app.Activity.setContentView(Activity.java:1881)
            at edu.utexas.scottm.googlemapsapi_2_demo.SimpleMapActivity.onCreate(SimpleMapActivity.java:12)
            at android.app.Activity.performCreate(Activity.java:5104)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
            at android.app.ActivityThread.access$600(ActivityThread.java:141)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5039)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
            at com.google.maps.api.android.lib6.gmm6.c.g.a(Unknown Source)
            at com.google.maps.api.android.lib6.c.i.a(Unknown Source)
            at com.google.maps.api.android.lib6.c.el.a(Unknown Source)
            at com.google.maps.api.android.lib6.c.ab.a(Unknown Source)
            at com.google.maps.api.android.lib6.c.aa.a(Unknown Source)
            at com.google.android.gms.maps.internal.x.onTransact(SourceFile:107)
            at android.os.Binder.transact(Binder.java:310)
            at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
            at com.google.android.gms.maps.MapFragment$a.onCreateView(Unknown Source)
            at com.google.android.gms.dynamic.a$4.b(Unknown Source)
            at com.google.android.gms.dynamic.a.a(Unknown Source)
            at com.google.android.gms.dynamic.a.onCreateView(Unknown Source)
            at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source)
            at android.app.Fragment.performCreateView(Fragment.java:1695)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:861)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
            at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1137)
            at android.app.Activity.onCreateView(Activity.java:4717)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
            at android.app.Activity.setContentView(Activity.java:1881)
            at edu.utexas.scottm.googlemapsapi_2_demo.SimpleMapActivity.onCreate(SimpleMapActivity.java:12)
            at android.app.Activity.performCreate(Activity.java:5104)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
            at android.app.ActivityThread.access$600(ActivityThread.java:141)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5039)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
            at dalvik.system.NativeStart.main(Native Method)
InformationsquelleAutor Mike Scott | 2015-02-13
Schreibe einen Kommentar