Edit: For a detailed how-to, check out my answer.
I'm struggling with it for two days now, hope someone can help.
I'm trying to use the newest ActionBarSherlock (4.0) with a MapView. I knew it's problematic with fragments, but I don't need them in this activity. But I need Loaders and it appears, that to use Loaders I have to extend the FragmentActivity too. No problem, I thought, we have the android-support-v4-googlemaps from Pete Doyle. As suggested on many SO threads and Google Groups I build the ABS with android-support-v4-googlemaps JAR (android-support-v13-r7-googlemaps.jar actually) instead of android-support-v4.jar. Then I used it as a library for my project.
Now, I would like to have my activity this way:
public class BananoutMapActivity extends SherlockFragmentActivity implements LoaderCallbacks<ArrayList<EventItem>>{
The problem:
It compiles, but throws a runtime error: E/AndroidRuntime(29159): java.lang.NoClassDefFoundError: ndl.klimczak.bananout.BananoutMapActivity
Things I've triple checked:
- both ActionBarSherlock library project and my project are targeted at Google APIs 4.0.3
- I have
<uses-library android:name="com.google.android.maps" />
and I have it in the application tag. - I also have the same android-support-v13-r7-googlemaps.jar in the build path of my project
- I have
.BananoutMapActivity
declared in my manifest
What is interesting:
When I run it on an ICS emulator it works (the error appears on 2.* emulators and my 2.3.7 device), on Honeycomb it would work too probably, it's the question of using the ACL I guess
When I remove the
implements LoaderCallbacks<ArrayList<EventItem>>
part it works too, but this way I'm not able to use LoaderManager
Why on earth the NoClassDefFoundError error and how to get the Loaders working in my MapCapableSherlockEnabledFragmentActivity?