Ошибка принудительного отключения в MapView - PullRequest
2 голосов
/ 31 января 2011

Я хочу открыть карту, когда нажимаю кнопку, но, к сожалению, мое приложение закрывается ... это мой logcat:

01-31 18:11:49.465: VERBOSE/InputDevice(2836): ID[0]=0(0) Up(1=>0)
01-31 18:11:49.606: WARN/dalvikvm(6111): Class resolved by unexpected DEX: Lkostas/menu/olympiakos/GoogleMaps;(0x486356d8):0x22f5d8 ref [Lcom/google/android/maps/MapActivity;] Lcom/google/android/maps/MapActivity;(0x486356d8):0x21dca0
01-31 18:11:49.606: WARN/dalvikvm(6111): (Lkostas/menu/olympiakos/GoogleMaps; had used a different Lcom/google/android/maps/MapActivity; during pre-verification)
01-31 18:11:49.606: WARN/dalvikvm(6111): Unable to resolve superclass of Lkostas/menu/olympiakos/GoogleMaps; (67)
01-31 18:11:49.606: WARN/dalvikvm(6111): Link of class 'Lkostas/menu/olympiakos/GoogleMaps;' failed
01-31 18:11:49.610: DEBUG/AndroidRuntime(6111): Shutting down VM
01-31 18:11:49.610: WARN/dalvikvm(6111): threadid=1: thread exiting with uncaught exception (group=0x4001d7d0)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111): FATAL EXCEPTION: main
01-31 18:11:49.641: ERROR/AndroidRuntime(6111): java.lang.NoClassDefFoundError: kostas.menu.olympiakos.GoogleMaps
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at kostas.menu.olympiakos.DialogActivity$1.onItemClick(DialogActivity.java:47)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.widget.ListView.performItemClick(ListView.java:3672)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.os.Handler.handleCallback(Handler.java:587)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.os.Handler.dispatchMessage(Handler.java:92)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.os.Looper.loop(Looper.java:123)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at android.app.ActivityThread.main(ActivityThread.java:4627)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at java.lang.reflect.Method.invokeNative(Native Method)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at java.lang.reflect.Method.invoke(Method.java:521)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at dalvik.system.NativeStart.main(Native Method)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111): Caused by: java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at dalvik.system.DexFile.defineClass(Native Method)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:209)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:203)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
01-31 18:11:49.641: ERROR/AndroidRuntime(6111):     ... 13 more
01-31 18:11:49.660: WARN/ActivityManager(2836):   Force finishing activity kostas.menu.olympiakos/.DialogActivity

так я называю активность карты:

Intent newActivity111 = new Intent(DialogActivity.this, GoogleMaps.class);     
                                startActivity(newActivity111);

Ответы [ 3 ]

4 голосов
/ 01 февраля 2011

Каким-то образом ваше устройство или эмулятор имеет реализацию, отличную от com.google.android.maps.MapActivity, чем та, которую использовал ваш компилятор.Это не должно быть возможно при нормальных обстоятельствах.Это говорит о том, что вы серьезно испортили процесс сборки, например, добавив JAR-файл надстройки Maps в путь сборки, а не просто установив цель с поддержкой Maps.

1 голос
/ 12 июня 2011

Не уверен, связана ли ваша проблема с доступными библиотеками.

Библиотека карт не является частью стандартной библиотеки Android. Следовательно, вам необходимо объявить его в файле манифеста.

Перейдите по ссылке: http://developer.android.com/resources/tutorials/views/hello-mapview.html

Поскольку библиотека недоступна, ваша активность "GoogleMaps", которая расширяет MapActivity, не загружается в систему.

0 голосов
/ 03 мая 2012

Все вопросы и ответы, связанные с получением Fatal Exception java.lang.NoClassDefFoundError при использовании MapActivity, мне не помогли.Ответ CommonsWare дал мне подсказку, которая помогла мне прийти к решению.

Когда я скопировал свой проект в новую среду, мои настройки не включали библиотеку Google Maps.Я добавил файл maps.jar вручную в свой проект и смог успешно связать приложение, но когда я попытался запустить действие, производное от MapActivity, я получил фатальное исключение.

Я удалил ссылку на карты.jar библиотека.Затем я заметил, что я работаю против Android 2.2 SDK.У меня не был установлен SDK Google APIs.После загрузки и установки SDK API Google и указания этого SDK в качестве цели моя проблема исчезла.

...