user1246950
user1246950

Reputation: 1092

Android app unable to start activity componentinfo google map v2

i am trying to do this google map v2 tutorial and i run in to a problem
i did add the google-play-services-lib to my project
runing on emulator v:4.3 APILevel:18 cpu/abi:arm
i never used fragments befor soo i think that may be the root of the problem but i cant be sure
i am geting this error:

11-04 13:35:31.572: E/AndroidRuntime(1375): FATAL EXCEPTION: main
11-04 13:35:31.572: E/AndroidRuntime(1375): java.lang.RuntimeException: Unable to start activity ComponentInfo{asaf.workfinder/asaf.workfinder.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class fragment
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.os.Looper.loop(Looper.java:137)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 13:35:31.572: E/AndroidRuntime(1375): at java.lang.reflect.Method.invokeNative(Native Method)
11-04 13:35:31.572: E/AndroidRuntime(1375): at java.lang.reflect.Method.invoke(Method.java:525)
11-04 13:35:31.572: E/AndroidRuntime(1375): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 13:35:31.572: E/AndroidRuntime(1375): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 13:35:31.572: E/AndroidRuntime(1375): at dalvik.system.NativeStart.main(Native Method)
11-04 13:35:31.572: E/AndroidRuntime(1375): Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class fragment
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
11-04 13:35:31.572: E/AndroidRuntime(1375): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Activity.setContentView(Activity.java:1895)
11-04 13:35:31.572: E/AndroidRuntime(1375): at asaf.workfinder.MainActivity.onCreate(MainActivity.java:13)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Activity.performCreate(Activity.java:5133)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 13:35:31.572: E/AndroidRuntime(1375): ... 11 more
11-04 13:35:31.572: E/AndroidRuntime(1375): 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
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Fragment.instantiate(Fragment.java:592)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Fragment.instantiate(Fragment.java:560)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Activity.onCreateView(Activity.java:4738)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
11-04 13:35:31.572: E/AndroidRuntime(1375): ... 21 more
11-04 13:35:31.572: E/AndroidRuntime(1375): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.maps.MapFragment" on path: DexPathList[[zip file "/data/app/asaf.workfinder-1.apk"],nativeLibraryDirectories=[/data/app-lib/asaf.workfinder-1, /vendor/lib, /system/lib]]
11-04 13:35:31.572: E/AndroidRuntime(1375): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
11-04 13:35:31.572: E/AndroidRuntime(1375): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
11-04 13:35:31.572: E/AndroidRuntime(1375): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
11-04 13:35:31.572: E/AndroidRuntime(1375): at android.app.Fragment.instantiate(Fragment.java:582)
11-04 13:35:31.572: E/AndroidRuntime(1375): ... 24 more

manifest.xml:

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

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="18" />
    <permission
        android:name="asaf.workfinder.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />


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

    <application
        android:allowBackup="true"
        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="my api key" />


        <activity
            android:name="asaf.workfinder.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>

</manifest>

layout:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >


    <TextView 
        android:id="@+id/tv1"
        android:text="@string/hello_world"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        />

    <fragment 
          android:id="@+id/asafmap"
          android:layout_below="@+id/tv1"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.MapFragment"/>

</RelativeLayout>

and MainActivity:

package asaf.workfinder;

import android.os.Bundle;
import android.view.View.OnCreateContextMenuListener;
import android.app.Activity;


public class MainActivity extends Activity {

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

    }

}

Upvotes: 0

Views: 3052

Answers (2)

Arhat Baid
Arhat Baid

Reputation: 1023

you can follow this link....

http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/

Add google play services lib and mpas jar file into project...

Upvotes: 1

Pixbyte
Pixbyte

Reputation: 112

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

Be sure you added the google_play_services correctly in ur project Set Up Google Play Services SDK

BTW, Google Map V2 doesn't support to run in the emulator to run it in the emulator follow this post

Upvotes: 0

Related Questions