Пустой GoogleMap на реальном устройстве Android 2.3 с Google API (уровень 17)

Вопрос Описание, пожалуйста, прочитайте это сначала

Я пытаюсь получить мое простое приложение, которое будет отображать пользователяРасположение на устройствах с Android 2.3 до Android 4.0+.Карта не отображается на реальном устройстве Android 2.3.

В настоящее время приложение может без проблем запускать и отображать карты на устройстве Android 4.0+.

Потому что он может отображать карты без проблем на Android 4.0+, поэтомуЯ полагаю, что проблема не должна быть связана с настройками или разрешениями Google Maps V2.

Однако, когда я пытаюсь сделать это на устройствах Android 2.3, область карты будет пустой, как показано на снимке экрана ниже:

Приложение использует ActionBarSherlock, Google Maps API v2 и SupportMapFragment. Сборка нацелена на SDK 17, минимум SDK 10.

Фрагмент кода

Я вставил и урезал код, чтобы показать единственную связанную часть, пожалуйста, оставьте комментарий, если вам нужно что-нибудь еще.

activity_layout.xml


Activity.java

import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMarkerDragListener;
import com.google.android.gms.maps.SupportMapFragment;

public class Activity extends SherlockFragmentActivity{

private static GoogleMap map;

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

            ............

        //Set up map view
        map = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

            ............

        OnMarkerDragListener markerDragListener = new OnMarkerDragListener() {

            @Override
            public void onMarkerDragStart(Marker marker) {
                // Called when the marker drag is started

            }

            @Override
            public void onMarkerDragEnd(Marker marker) {
                // Called when the marker is dropped down.
                coords[0] = marker.getPosition().latitude;
                coords[1] = marker.getPosition().longitude;
                RestoreUIwithSavedLocation(coords);
                Log.d(TAG, "Pin Dropped at: " + coords[0] + ", " + coords[1]);
            }

            @Override
            public void onMarkerDrag(Marker marker) {

            }
        };

        map.setOnMarkerDragListener(markerDragListener);
}

Logcat при работе на реальном устройстве Android 2.3:

01-04 21:16:52.020: D/dalvikvm(19074): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
01-04 21:16:52.150: W/dalvikvm(19074): Unable to resolve superclass of Lmaps/p/s; (427)
01-04 21:16:52.150: W/dalvikvm(19074): Link of class 'Lmaps/p/s;' failed
01-04 21:16:52.150: W/dalvikvm(19074): Unable to resolve superclass of Lmaps/y/bo; (3820)
01-04 21:16:52.150: W/dalvikvm(19074): Link of class 'Lmaps/y/bo;' failed
01-04 21:16:52.150: W/dalvikvm(19074): Unable to resolve superclass of Lmaps/i/k; (4208)
01-04 21:16:52.150: W/dalvikvm(19074): Link of class 'Lmaps/i/k;' failed
01-04 21:16:52.150: E/dalvikvm(19074): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
01-04 21:16:52.150: W/dalvikvm(19074): VFY: unable to resolve new-instance 3540 (Lmaps/i/k;) in Lmaps/z/ag;
01-04 21:16:52.150: D/dalvikvm(19074): VFY: replacing opcode 0x22 at 0x006d
01-04 21:16:52.160: D/dalvikvm(19074): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;

Logcat при запуске на эмуляторе с Google API Lv.10

03-25 13:00:47.974: W/GooglePlayServicesUtil(751): Google Play services is missing.
03-25 13:00:47.992: W/GooglePlayServicesUtil(751): Google Play services is missing.
03-25 13:00:47.992: W/GooglePlayServicesUtil(751): Google Play services is missing.
03-25 13:00:48.002: W/GooglePlayServicesUtil(751): Google Play services is missing.
03-25 13:00:48.002: W/GooglePlayServicesUtil(751): Google Play services is missing.
03-25 13:00:48.022: W/GooglePlayServicesUtil(751): Google Play services is missing.
03-25 13:00:48.072: D/AndroidRuntime(751): Shutting down VM
03-25 13:00:48.072: W/dalvikvm(751): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-25 13:00:48.133: E/AndroidRuntime(751): FATAL EXCEPTION: main
03-25 13:00:48.133: E/AndroidRuntime(751): java.lang.RuntimeException: Unable to start activity ComponentInfo{Activity}: java.lang.NullPointerException
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.os.Looper.loop(Looper.java:130)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-25 13:00:48.133: E/AndroidRuntime(751):  at java.lang.reflect.Method.invokeNative(Native Method)
03-25 13:00:48.133: E/AndroidRuntime(751):  at java.lang.reflect.Method.invoke(Method.java:507)
03-25 13:00:48.133: E/AndroidRuntime(751):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-25 13:00:48.133: E/AndroidRuntime(751):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-25 13:00:48.133: E/AndroidRuntime(751):  at dalvik.system.NativeStart.main(Native Method)
03-25 13:00:48.133: E/AndroidRuntime(751): Caused by: java.lang.NullPointerException
03-25 13:00:48.133: E/AndroidRuntime(751):  at Activity.onCreate(Activity.java:250)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-25 13:00:48.133: E/AndroidRuntime(751):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-25 13:00:48.133: E/AndroidRuntime(751):  ... 11 more

Activity.onCreate(Activity.java:250) указывает на эту строку:

map.setOnMarkerDragListener (markerDragListener);

Что я попробовал

И странно, что если я добавлю эту строку


вAndroidManifest.xmllogcat ничего не покажет (без ошибок и без предупреждений), а карта все еще пуста. Но у кого-то есть сообщение о том, что эта строка решила проблему с пустой картой:https://stackoverflow.com/questions/15595357/android-supportmapfragment-google-play-services-issue

В моем проектеAndroid Dependencies папка, яу нас есть эти*.jar файлы:

actionbar-sherlock-4.2-library.jar
google-play-services_lib.jar
android-support-v4.jar
actionbarsherlock-plugin-maps-4.2.0.jar
google-play-services.jar

Из ответаэта почта,Я знаю, что Google Maps могут не работать на эмуляторе. Все, что мне нужно, это сделать карту отображенной на реальном устройстве Android 2.3, которое мне не удалось.

Кроме того, яМы также обратили пристальное внимание на эти посты и попробовали их метод (если применимо к моим обстоятельствам), но все еще не радуются моей проблеме:

Google Map V2 ссылка на карту Android

Как использовать Google Maps API v2 с API уровня 10?

Google MapFragment является пустым (белым) с Не удалось найти класс 'maps.j.k»

Использование ActionBarSherlock с новым SupportMapFragment



Если вам нужна дополнительная информация, пожалуйста, оставьте комментарий ниже, и я 'попробую добавить их.

Ответы на вопрос(5)

Ваш ответ на вопрос