0

hey every one i am follow this tutorial http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/ to google map in android but my app has been crashed whats the issue i cant understand please help me to fix this...

here is the

07-20 15:22:22.758: D/AndroidRuntime(1260): Shutting down VM
07-20 15:22:22.758: W/dalvikvm(1260): threadid=1: thread exiting with uncaught exception (group=0xb3afbba8)
07-20 15:22:22.788: E/AndroidRuntime(1260): FATAL EXCEPTION: main
07-20 15:22:22.788: E/AndroidRuntime(1260): Process: com.example.googlemap, PID: 1260
07-20 15:22:22.788: E/AndroidRuntime(1260): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.googlemap/com.example.googlemap.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.os.Handler.dispatchMessage(Handler.java:102)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.os.Looper.loop(Looper.java:136)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.ActivityThread.main(ActivityThread.java:5017)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at java.lang.reflect.Method.invokeNative(Native Method)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at java.lang.reflect.Method.invoke(Method.java:515)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at dalvik.system.NativeStart.main(Native Method)
07-20 15:22:22.788: E/AndroidRuntime(1260): Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.Activity.setContentView(Activity.java:1929)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.support.v7.app.ActionBarActivity.superSetContentView(ActionBarActivity.java:217)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.support.v7.app.ActionBarActivityDelegateICS.setContentView(ActionBarActivityDelegateICS.java:110)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:77)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.example.googlemap.MainActivity.onCreate(MainActivity.java:18)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.Activity.performCreate(Activity.java:5231)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
07-20 15:22:22.788: E/AndroidRuntime(1260):     ... 11 more
07-20 15:22:22.788: E/AndroidRuntime(1260): Caused by: java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.common.GooglePlayServicesUtil.x(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.maps.internal.u.F(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.maps.internal.u.E(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.maps.MapFragment$b.ju(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.dynamic.a.a(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.app.Activity.onCreateView(Activity.java:4785)
07-20 15:22:22.788: E/AndroidRuntime(1260):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
07-20 15:22:22.788: E/AndroidRuntime(1260):     ... 24 more

this is my manifest file...

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

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

    <uses-permission android:name="com.example.googlemap.permission.MAPS_RECEIVE" />
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Required to show current location -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".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>
    </application>
<meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="API key" />
</manifest>
Shailendra Madda
  • 20,649
  • 15
  • 100
  • 138
Arsalan Qaiser
  • 426
  • 2
  • 7
  • 26

2 Answers2

3

You need to put these lines in application tag of Android Manifest file but you included it in after application tag. And also you need to include these line too the log cat clearly telling that

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

See here:

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

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

    <uses-permission android:name="com.example.googlemap.permission.MAPS_RECEIVE" />
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Required to show current location -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

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

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

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

If you want to get map in AVD see here which I answered in another post.

Community
  • 1
  • 1
Shailendra Madda
  • 20,649
  • 15
  • 100
  • 138
1

Add this

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

in <application ...>

like this

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".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.gms.version" android:value="@integer/google_play_services_version" />
</application>
mapodev
  • 988
  • 8
  • 14