ActionBarSherlock + Maps + Loaders = java.lang.NoClassDefFoundError
Edytować: Aby uzyskać szczegółowe instrukcje, sprawdźmoja odpowiedź.
Walczę z tym od dwóch dni, mam nadzieję, że ktoś może pomóc.
Próbuję użyć najnowszego ActionBarSherlock (4.0) z MapView. Wiedziałem, że jest to problematyczne z fragmentami, ale nie potrzebuję ich w tym ćwiczeniu. Ale potrzebuję Loaderów i wygląda na to, że aby korzystać z Loaderów, muszę także rozszerzyć FragmentActivity. Nie ma problemu, pomyślałem, mamyandroid-support-v4-googlemaps od Pete'a Doyle'a. Jak sugerowano w wielu wątkach SO i Grupach dyskusyjnych Google, buduję ABS z JAR android-support-v4-googlemaps (właściwie android-support-v13-r7-googlemaps.jar) zamiast android-support-v4.jar. Potem użyłem go jako biblioteki dla mojego projektu.
Chciałbym teraz prowadzić moją działalność w ten sposób:
public class BananoutMapActivity extends SherlockFragmentActivity implements LoaderCallbacks<ArrayList<EventItem>>{
Problem:
Kompiluje, ale zgłasza błąd wykonania:E/AndroidRuntime(29159): java.lang.NoClassDefFoundError: ndl.klimczak.bananout.BananoutMapActivity
Sprawy potrójnie sprawdzone:
zarówno projekt biblioteki ActionBarSherlock, jak i mój projekt są skierowane do Google API 4.0.3mam<uses-library android:name="com.google.android.maps" />
i mam go w tagu aplikacji.Mam także ten sam android-support-v13-r7-googlemaps.jar w ścieżce kompilacji mojego projektumam.BananoutMapActivity
zadeklarowany w moim manifeścieCo ciekawe:
Kiedy uruchamiam go na emulatorze ICS, działa (błąd pojawia się na emulatorach 2. * i moim urządzeniu 2.3.7), w Honeycomb prawdopodobnie działa, to chyba kwestia użycia ACL.
Kiedy usuwamimplements LoaderCallbacks<ArrayList<EventItem>>
część też działa, ale w ten sposób nie mogę użyć LoaderManager
Dlaczego na ziemi błąd NoClassDefFoundError i jak uzyskać ładowanie w moim MapCapableSherlockEnabledFragmentActivity?