Исключение при использовании MapView - java.lang.RuntimeException: заглушка - PullRequest
4 голосов
/ 02 августа 2011

Имеет ли смысл следующее исключение? Я изо всех сил пытаюсь определить причину. Это происходит при открытии подкласса Activity (ActivityMap) из MapActivity, даже если макет MapActivity не содержит элемент mapview.

Я подозреваю, что это проблема проекта. Я использую IntelliJ IDEA. Я настроил проект для создания на уровне API Карт 8-го уровня. Среда IDE не выделяет никаких проблем с использованием MapActivity в исходном коде, и она создается без ошибок, но затем это исключение во время выполнения.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.android.maps.MapView
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:apiKey="<maps api key is here>"
 />
</LinearLayout>

А потом активность:

public class ActivityMap extends MapActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activitymap);
}

@Override
protected boolean isRouteDisplayed() {
    return false;
}

@Override
protected boolean isLocationDisplayed() {
    return super.isLocationDisplayed();
}

}

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.someapp.myapp/com.someapp.myapp.ActivityMap}: java.lang.RuntimeException: stub
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:130)
        at android.app.ActivityThread.main(ActivityThread.java:3683)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:507)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
        at dalvik.system.NativeStart.main(Native Method)
        Caused by: java.lang.RuntimeException: stub
        at com.google.android.maps.MapActivity.<init>(Unknown Source)
        at com.someapp.myapp.ActivityMap.<init>(ActivityMap.java:7)
        at java.lang.Class.newInstanceImpl(Native Method)
        at java.lang.Class.newInstance(Class.java:1409)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)

Ответы [ 4 ]

4 голосов
/ 02 августа 2011

Эта ошибка обычно возникает при запуске модульных тестов, где classpath также включает файл JAR Android (Android jar также содержит тестовые пакеты junit, junit.framework и junit.runner).

не выполняется никаких модульных тестов, проблема должна быть где-то еще.

Некоторое время назад я написал статью о том, как интегрировать карты: http://blog.doityourselfandroid.com/2011/01/18/using-google-maps-in-your-android-app/

Он охватывает все необходимые шагиподробно, а также некоторые распространенные ошибки, возникающие у людей при интеграции карт.

1 голос
/ 05 октября 2011

У меня была такая же проблема, оказалось, что она была вызвана использованием библиотек Android 3.0 вместо API Google 3.0.

Чтобы изменить библиотеку, я просто щелкнул правой кнопкой мыши по проекту в Eclipse, выбрав Свойствапод опцией Android я выбрал API Google (для 3.0) вместо библиотеки Android 3.0.

0 голосов
/ 02 августа 2011

Код выглядит нормально. Я думаю, что у вас есть другие проблемы. Может быть, Google Maps API для Android. Попробуйте создать новый проект. Вы делали вид карты раньше, и он работал?

0 голосов
/ 02 августа 2011

У вас есть ключ API в XML-файле активности вашей карты http://code.google.com/android/add-ons/google-apis/mapkey.html

...