2011-01-31 2 views
2

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

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 

Thats путь им вызывающим деятельность карты:

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

У меня в коде нет проблем, я использовал его и в других приложениях .. я не знаю, где моя ошибка, у меня есть разрешение на использование для карт google в моем manifest.xml –

ответ

4

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

+0

Также убедитесь, что ваш эмулятор И проект нацелены android api 3 или выше ... Приложение для карт включается только тогда, когда ваш эмулятор нацеливается на api, как указано выше. – ninjasense

+0

@CommonsWare. Я нахожу это странным. Почему это вручную добавляет android-sdk \ add-ons \ addon-google_apis-google_inc_ -8 \ libs \ maps.jar не работает? Есть ли способ вручную связать его? – Pacerier

1

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

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

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

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

0

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

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

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

Смежные вопросы