Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

So after going through about 15 different stack overflow questions on the same error, I have another question about the unable to start activity ComponentInfo.

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


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

    <uses-sdk
        android:minSdkVersion="12"
        android:targetSdkVersion="18" />

    <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" />

    <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="com.example.hauntingongrounds.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="AIzaSyAI********************-EhL8Ys" />
    </application>

</manifest>

Above is the Manifest. Below are the XML and the Main Activity.

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.SupportMapFragment;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.widget.Toast;

public class MainActivity extends FragmentActivity {

    // Google Map
    private GoogleMap googleMap;

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

        try {
            // Loading map
            initializeMap();

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * function to load map. If map is not created it will create it for you
     * */
    private void initializeMap() {
        if (googleMap == null) {
            googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
            // check if map is created successfully or not
            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        initializeMap();
    }

}

XML File

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

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

</RelativeLayout>

Finally the LogCat

11-24 14:30:44.293: E/AndroidRuntime(17980): FATAL EXCEPTION: main
11-24 14:30:44.293: E/AndroidRuntime(17980): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hauntingongrounds/com.example.hauntingongrounds.MainActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.os.Looper.loop(Looper.java:137)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.main(ActivityThread.java:5041)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at java.lang.reflect.Method.invokeNative(Native Method)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at java.lang.reflect.Method.invoke(Method.java:511)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at dalvik.system.NativeStart.main(Native Method)
11-24 14:30:44.293: E/AndroidRuntime(17980): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.Activity.setContentView(Activity.java:1881)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.example.hauntingongrounds.MainActivity.onCreate(MainActivity.java:21)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.Activity.performCreate(Activity.java:5104)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
11-24 14:30:44.293: E/AndroidRuntime(17980):    ... 11 more
11-24 14:30:44.293: E/AndroidRuntime(17980): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4030500 but found 0.  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" />
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.common.GooglePlayServicesUtil.n(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.internal.q.v(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.internal.q.u(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.SupportMapFragment$b.cE(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.SupportMapFragment$b.a(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.dynamic.a.a(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:290)
11-24 14:30:44.293: E/AndroidRuntime(17980):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
share|improve this question
    
Have you read your stacktrace? The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. 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" /> –  MaciejGórski Nov 24 '13 at 18:44
    
So I'm editing it to show the new code after I fixed it and new log trace. –  user3027873 Nov 24 '13 at 19:34
add comment

2 Answers

up vote 2 down vote accepted

Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0.

You need to add this on your manifest

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
share|improve this answer
add comment

First, try to change:

android:name="com.google.android.gms.maps.SupportMapFragment"  

by:

class="com.google.android.gms.maps.SupportMapFragment"  

And you're wrong when you try to getMap() with MapFragment.

Android SupportMapFragment class needs to call getSupportFragmentManager() method. so you have to do SupportMapFragment, as you mention in your layout, like this way:

googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();  

Let me know if your problem will be resolved.
For more information, see this tutorial: Android SupportMapFragment Example


Maybe your problem it's in your API key. To resolve it:

See this one: http://stackoverflow.com/a/19828366/2668136


And try to add this in your manifest:

This: http://stackoverflow.com/a/19744484/2668136

share|improve this answer
    
So I tried what you said and I got the same error same line. I had to change the parent class to FragmentActivity instead of just Activity. –  user3027873 Nov 24 '13 at 19:33
    
Did you add Google Play Services as your project's library? See how do it here: developer.android.com/google/play-services/setup.html#Install –  Fllo Nov 24 '13 at 19:42
    
Already did that. I've checked all the libraries and jars. Its all been imported. –  user3027873 Nov 24 '13 at 19:57
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.