unfortunately google maps api has stopped on emulator
<p>I began in Android development and went to google maps with sample code from here <a href="https://developers.google.com/maps/documentation/android/intro#sample_code" rel="nofollow">https://developers.google.com/maps/documentation/android/intro#sample_code</a> i followed all the steps in this site with no change from my side, and when i run i see this message on the emulator unfortunately google maps api has stopped </p>

<p>here is my Manifest</p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.mapdemo"
  android:versionCode="2"
  android:versionName="2.1.0"&gt;
  &lt;permission
    android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/&gt;
  &lt;uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/&gt;
  &lt;!-- Copied from Google Maps Library/AndroidManifest.xml. --&gt;
  &lt;uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt;
  &lt;uses-permission android:name="android.permission.INTERNET"/&gt;
  &lt;uses-permission &gt;android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/&gt;
  &lt;!-- External storage for caching. --&gt;
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt;
  &lt;!-- My Location --&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  &lt;!-- Maps API needs OpenGL ES 2.0. --&gt;
  &lt;uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/&gt;
  &lt;!-- End of copy. --&gt;
  &lt;application
    android:icon="@drawable/ic_launcher"
    android:label="@string/demo_title"
    android:hardwareAccelerated="true"&gt;
    &lt;meta-data
      android:name="com.google.android.maps.v2.API_KEY"
      android:value="AIzaSyDYj6PVzqEyVw5ZItRp-PKrVEIb8woTdVc"/&gt;
    &lt;activity android:name="com.example.mapdemo.MainActivity"&gt;
      &lt;intent-filter&gt;
        &lt;action android:name="android.intent.action.MAIN"/&gt;
        &lt;category android:name="android.intent.category.LAUNCHER"/&gt;
      &lt;/intent-filter&gt;
    &lt;/activity&gt;

    &lt;uses-library android:name="com.google.android.maps"/&gt;
    &lt;activity
      android:name=".BasicMapActivity"
      android:label="@string/basic_map"/&gt;
    &lt;activity
      android:name=".CameraDemoActivity"
      android:label="@string/camera_demo"/&gt;
    &lt;activity
      android:name=".CircleDemoActivity"
      android:label="@string/circle_demo"/&gt;
    &lt;activity
      android:name=".EventsDemoActivity"
      android:label="@string/events_demo"/&gt;
    &lt;activity
      android:name=".GroundOverlayDemoActivity"
      android:label="@string/groundoverlay_demo"/&gt;
    &lt;activity
      android:name=".LayersDemoActivity"
      android:label="@string/layers_demo"/&gt;
    &lt;activity
      android:name=".LocationSourceDemoActivity"
      android:label="@string/locationsource_demo"/&gt;
    &lt;activity
      android:name=".MarkerDemoActivity"
      android:label="@string/marker_demo"/&gt;
    &lt;activity
      android:name=".OptionsDemoActivity"
      android:label="@string/options_demo"/&gt;
    &lt;activity
      android:name=".PolygonDemoActivity"
      android:label="@string/polygon_demo"/&gt;
    &lt;activity
      android:name=".PolylineDemoActivity"
      android:label="@string/polyline_demo"/&gt;
    &lt;activity
      android:name=".ProgrammaticDemoActivity"
      android:label="@string/programmatic_demo"/&gt;
    &lt;activity
      android:name=".TileOverlayDemoActivity"
      android:label="@string/tile_overlay_demo"/&gt;
    &lt;activity
      android:name=".UiSettingsDemoActivity"
      android:label="@string/uisettings_demo"/&gt;
    &lt;activity
      android:name=".RawMapViewDemoActivity"
      android:label="@string/raw_mapview_demo"/&gt;
    &lt;activity
      android:name=".RetainMapActivity"
      android:label="@string/retain_map"/&gt;
    &lt;activity
      android:name=".MultiMapDemoActivity"
      android:label="@string/multi_map_demo"/&gt;
  &lt;/application&gt;
&lt;/manifest&gt;
</code></pre>

<p>and here is the main.java</p>

<pre><code>package com.example.mapdemo;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;

import com.example.mapdemo.view.FeatureView;
import android.app.Activity;

public final class MainActivity extends ListActivity {

    private static class DemoDetails {
        private final int titleId;
        private final int descriptionId;
        private final Class&lt;? extends FragmentActivity&gt; activityClass;
        public DemoDetails(
                int titleId, int descriptionId, Class&lt;? extends FragmentActivity&gt; &gt;activityClass) {
            super();
            this.titleId = titleId;
            this.descriptionId = descriptionId;
            this.activityClass = activityClass;
        }
    }
    private static class CustomArrayAdapter extends ArrayAdapter&lt;DemoDetails&gt; {
        public CustomArrayAdapter(Context context, DemoDetails[] demos) {
            super(context, R.layout.feature, R.id.title, demos);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            FeatureView featureView;
            if (convertView instanceof FeatureView) {
                featureView = (FeatureView) convertView;
            } else {
                featureView = new FeatureView(getContext());
            }

            DemoDetails demo = getItem(position);

            featureView.setTitleId(demo.titleId);
            featureView.setDescriptionId(demo.descriptionId);

            return featureView;
        }
    }

    private static final DemoDetails[] demos = {new DemoDetails(
            R.string.basic_map, R.string.basic_description, BasicMapActivity.class),
            new DemoDetails(R.string.camera_demo, R.string.camera_description,
                    CameraDemoActivity.class),
            new DemoDetails(R.string.events_demo, R.string.events_description,
                    EventsDemoActivity.class),
            new DemoDetails(R.string.layers_demo, R.string.layers_description,
                    LayersDemoActivity.class),
            new DemoDetails(
                    R.string.locationsource_demo, R.string.locationsource_description,
                    LocationSourceDemoActivity.class),
            new DemoDetails(R.string.uisettings_demo, R.string.uisettings_description,
                    UiSettingsDemoActivity.class),
            new DemoDetails(R.string.groundoverlay_demo, &gt;R.string.groundoverlay_description,
                    GroundOverlayDemoActivity.class),
            new DemoDetails(R.string.marker_demo, R.string.marker_description,
                    MarkerDemoActivity.class),
            new DemoDetails(R.string.polygon_demo, R.string.polygon_description,
                    PolygonDemoActivity.class),
            new DemoDetails(R.string.polyline_demo, R.string.polyline_description,
                    PolylineDemoActivity.class),
            new DemoDetails(R.string.circle_demo, R.string.circle_description,
                    CircleDemoActivity.class),
            new DemoDetails(R.string.tile_overlay_demo, R.string.tile_overlay_description,
                    TileOverlayDemoActivity.class),
            new DemoDetails(R.string.options_demo, R.string.options_description,
                    OptionsDemoActivity.class),
            new DemoDetails(R.string.multi_map_demo, R.string.multi_map_description,
                    MultiMapDemoActivity.class),
            new DemoDetails(R.string.retain_map, R.string.retain_map_description,
                    RetainMapActivity.class),
            new DemoDetails(R.string.raw_mapview_demo, R.string.raw_mapview_description,
                    RawMapViewDemoActivity.class),
            new DemoDetails(R.string.programmatic_demo, R.string.programmatic_description,
                    ProgrammaticDemoActivity.class)};

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

        ListAdapter adapter = new CustomArrayAdapter(this, demos);

        setListAdapter(adapter);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        DemoDetails demo = (DemoDetails) getListAdapter().getItem(position);
        startActivity(new Intent(this, demo.activityClass));
    }
}
</code></pre>

<p>and here is the main.xml</p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;  
  &lt;ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/&gt;
  &lt;TextView
    android:id="@android:id/empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@string/no_demos"/&gt;
&lt;/LinearLayout&gt;
</code></pre>

<p>and here is the full logcat</p>

<pre><code>03-09 03:09:11.425: W/dalvikvm(2796): Unable to resolve superclass of Lcom/example/mapdemo/BasicMapActivity; (75)
03-09 03:09:11.425: W/dalvikvm(2796): Link of class 'Lcom/example/mapdemo/BasicMapActivity;' failed
03-09 03:09:11.455: E/dalvikvm(2796): Could not find class 'com.example.mapdemo.BasicMapActivity', referenced from method com.example.mapdemo.MainActivity.&lt;clinit&gt;
03-09 03:09:11.455: W/dalvikvm(2796): VFY: unable to resolve const-class 117 (Lcom/example/mapdemo/BasicMapActivity;) in Lcom/example/mapdemo/MainActivity;
03-09 03:09:11.455: D/dalvikvm(2796): VFY: replacing opcode 0x1c at 0x000d
03-09 03:09:11.485: W/dalvikvm(2796): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/example/mapdemo/MainActivity;
03-09 03:09:11.555: W/dalvikvm(2796): Class init failed in newInstance call (Lcom/example/mapdemo/MainActivity;)
03-09 03:09:11.555: D/AndroidRuntime(2796): Shutting down VM
03-09 03:09:11.555: W/dalvikvm(2796): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
03-09 03:09:11.585: E/AndroidRuntime(2796): FATAL EXCEPTION: main
03-09 03:09:11.585: E/AndroidRuntime(2796): java.lang.ExceptionInInitializerError
03-09 03:09:11.585: E/AndroidRuntime(2796):     at java.lang.Class.newInstanceImpl(Native Method)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at java.lang.Class.newInstance(Class.java:1319)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.os.Looper.loop(Looper.java:137)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at android.app.ActivityThread.main(ActivityThread.java:5041)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at java.lang.reflect.Method.invokeNative(Native Method)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at java.lang.reflect.Method.invoke(Method.java:511)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-09 03:09:11.585: E/AndroidRuntime(2796):     at dalvik.system.NativeStart.main(Native Method)
03-09 03:09:11.585: E/AndroidRuntime(2796): Caused by: java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapActivity
03-09 03:09:11.585: E/AndroidRuntime(2796):     at com.example.mapdemo.MainActivity.&lt;clinit&gt;(MainActivity.java:98)
03-09 03:09:11.585: E/AndroidRuntime(2796):     ... 15 more
03-09 03:09:15.014: I/Process(2796): Sending signal. PID: 2796 SIG: 9
</code></pre>

<p>I am using emulator with API 17 Platform 4.2.2 Target google APIs and device 5.1 "WVGA (480 * 800: mdpi)</p>

<p>can anyone help me in this problem?
Also i was thinking to buy device Samsung Galaxy mini 2 S6500 to run on it my applications instead of emulators, would this device be suitable or not? 
it has 512 MB RAM and Android OS, v2.3.6 (Gingerbread), plnned upgrada to v4.1</p>
