android 2.2中的GOOGlE API V2问题

android 2.2中的GOOGlE API V2问题,android,google-maps,google-maps-android-api-2,Android,Google Maps,Google Maps Android Api 2,我想在android 2.2中使用google api v2 我已经完成了它的所有先决条件 比如: 谷歌地图api密钥 android-support-v4.jar google-play-services_lib.jar google-play-services.jar 我得到这个错误 02-26 09:32:04.055: E/AndroidRuntime(334): FATAL EXCEPTION: main 02-26 09:32:04.055: E/AndroidRuntime(334

我想在android 2.2中使用google api v2

我已经完成了它的所有先决条件

比如: 谷歌地图api密钥

  • android-support-v4.jar

  • google-play-services_lib.jar

  • google-play-services.jar

  • 我得到这个错误

    02-26 09:32:04.055: E/AndroidRuntime(334): FATAL EXCEPTION: main
    02-26 09:32:04.055: E/AndroidRuntime(334): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mapfragment/com.mapfragment.MainActivity}: java.lang.ClassNotFoundException: com.mapfragment.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.mapfragment-2.apk]
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.os.Handler.dispatchMessage(Handler.java:99)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.os.Looper.loop(Looper.java:123)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at java.lang.reflect.Method.invokeNative(Native Method)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at java.lang.reflect.Method.invoke(Method.java:521)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at dalvik.system.NativeStart.main(Native Method)
    02-26 09:32:04.055: E/AndroidRuntime(334): Caused by: java.lang.ClassNotFoundException: com.mapfragment.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.mapfragment-2.apk]
    02-26 09:32:04.055: E/AndroidRuntime(334):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
    02-26 09:32:04.055: E/AndroidRuntime(334):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
    02-26 09:32:04.055: E/AndroidRuntime(334):  ... 11 more
    
    我的代码:

    MainActivity.java

    package com.mapfragment;
    
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentTransaction;
    
    import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
    import com.google.android.gms.maps.GoogleMap;
    import com.google.android.gms.maps.MapsInitializer;
    import com.google.android.gms.maps.SupportMapFragment;
    
    public class MainActivity extends FragmentActivity {
    GoogleMap mapView;
    com.google.android.gms.maps.Projection projection;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        FragmentTransaction mTransaction = getSupportFragmentManager()
                .beginTransaction();
        SupportMapFragment mFRaFragment = new MapFragmentD();
        mTransaction.add(R.id.mainl, mFRaFragment);
        mTransaction.commit();
    
        try {
            MapsInitializer.initialize(this);
        } catch (GooglePlayServicesNotAvailableException e) {
            e.printStackTrace();
        }
    }
    
    }
    
    MapFragmentD.java

    package com.mapfragment;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.AttributeSet;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    import com.google.android.gms.maps.GoogleMap;
    import com.google.android.gms.maps.SupportMapFragment;
    import com.google.android.gms.maps.model.BitmapDescriptorFactory;
    import com.google.android.gms.maps.model.LatLng;
    import com.google.android.gms.maps.model.MarkerOptions;
    
    public class MapFragmentD extends SupportMapFragment {
    
    GoogleMap mapView;
    
    @Override
    public void onCreate(Bundle arg0) {
        super.onCreate(arg0);
    }
    
    @Override
    public View onCreateView(LayoutInflater mInflater, ViewGroup arg1,
            Bundle arg2) {
        return super.onCreateView(mInflater, arg1, arg2);
    }
    
    @Override
    public void onInflate(Activity arg0, AttributeSet arg1, Bundle arg2) {
        super.onInflate(arg0, arg1, arg2);
    }
    
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    
        mapView = getMap();
        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.draggable(true);
        markerOptions.position(new LatLng(23.231251f, 71.648437f));
        markerOptions.icon(BitmapDescriptorFactory.defaultMarker());
        mapView.addMarker(markerOptions);
    }
    }
    
    main.xml

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:id="@+id/mainl"
    android:layout_height="match_parent" >
    
    <!--     <com.mapfragment.MapFragmentD
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" /> -->
    
    </FrameLayout>
    
    
    
    mapfragments.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="0WyiQdWfvE1GnA4nWEz8rX1Ezf-rWMEDShPt5BQ"
        android:clickable="true" />
    
    </RelativeLayout>
    
    
    
    谷歌api v2的几个程序,我将尝试bt每一次,每次只有这个错误发生。 请帮我解决这个错误


    提前感谢。

    您需要在清单中添加以下内容

    <permission
        android:name="package.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    
    
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    
    <uses-permission android:name="package.permission.MAPS_RECEIVE" />
    
    
    
    和应用程序中的标签

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/map_key" />
    

    您需要在清单中添加以下内容

    <permission
        android:name="package.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    
    
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    
    <uses-permission android:name="package.permission.MAPS_RECEIVE" />
    
    
    
    和应用程序中的标签

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/map_key" />
    
    
    
    您有一个
    mapFragmented
    的布局文件,但您似乎没有使用它,因为
    onCreateView(…)
    正在返回
    super.onCreateView(…)
    。这是故意的吗?缺少一些代码吗?没有。这是完整的代码。在我朋友的电脑上,这个项目可以正常工作。。在我的电脑里,当我运行任何程序时,它会给我这个错误,所以我删除android依赖项,然后工作正常。在这种情况下,我需要android依赖项。bt当我删除这个程序时,它会给我这些错误。伙计们帮我解决这个问题。我没有任何解决方案,除非有太多人买得起..你有一个
    MapFragmented
    的布局文件,但你似乎没有使用它,因为
    onCreateView(…)
    只是返回
    super.onCreateView(…)
    。这是故意的吗?缺少一些代码吗?没有。这是完整的代码。在我朋友的电脑上,这个项目可以正常工作。。在我的电脑里,当我运行任何程序时,它会给我这个错误,所以我删除android依赖项,然后工作正常。在这种情况下,我需要android依赖项。bt当我删除这个程序时,它会给我这些错误。伙计们帮我解决这个问题。除非有太多人买得起,否则我没有任何解决办法。。