Editar: Para obtener detalles sobre cómo hacerlo, consulte my answer.ActionBarSherlock + Maps + Loaders = java.lang.NoClassDefFoundError
Estoy luchando con ello durante dos días, espero que alguien pueda ayudar.
Estoy tratando de usar el nuevo ActionBarSherlock (4.0) con un MapView. Sabía que es problemático con fragmentos, pero no los necesito en esta actividad. Pero necesito los cargadores y parece que para usar los cargadores también tengo que extender FragmentActivity. No hay problema, pensé, tenemos el android-support-v4-googlemaps de Pete Doyle. Como se sugiere en muchos hilos SO y Grupos de Google, creo el ABS con android-support-v4-googlemaps JAR (android-support-v13-r7-googlemaps.jar en realidad) en lugar de android-support-v4.jar. Luego lo usé como una biblioteca para mi proyecto.
Ahora, me gustaría tener mi actividad de esta manera:
public class BananoutMapActivity extends SherlockFragmentActivity implements LoaderCallbacks<ArrayList<EventItem>>{
El problema:
Compila, pero arroja un error de ejecución: E/AndroidRuntime(29159): java.lang.NoClassDefFoundError: ndl.klimczak.bananout.BananoutMapActivity
Cosas que he comprobado tres veces:
- tanto proyecto de biblioteca ActionBarSherlock y mi proyecto están dirigidos a las API de Google 4.0.3
<uses-library android:name="com.google.android.maps" />
tengo y lo tengo en la etiqueta de aplicación.- que también tienen el mismo android-apoyo-v13-R7-googlemaps.jar en la trayectoria de la estructura de mi proyecto
- he declarado en mi
.BananoutMapActivity
manifiesta
Lo que es interesante:
Cuando lo ejecuto en un emulador ICS funciona (el error aparece en la 2. * emuladores y mi dispositivo 2.3.7), en el panal que funcionaría también probablemente, es la cuestión de la utilización de la ACL supongo
Cuando quito la parte
implements LoaderCallbacks<ArrayList<EventItem>>
funciona también, pero de esta manera no soy capaz de utilizar LoaderManager
¿Por qué en la tierra el error NoClassDefFoundError y cómo llegar a los Cargadores de trabajo en mi MapCapableSherlockEnabledFragmentActivity ?
Estaba a punto de escribir esto. Parece ser el problema. –
¡Exactamente! ¡No puedo creer que haya pasado por alto algo tan obvio! ¡Muchas gracias! Además, utilizo la versión v13 de la biblioteca de compatibilidad de googlemaps de Pete Doyle e incluye v4 también, así que pensé que no sería un problema (y no lo es cuando cambio las importaciones). –
Ah sí. Es una adición (en lugar de un reemplazo directo) de la versión v4 que incluye un adaptador especial para buscapersonas que se pega un poco más al marco para la optimización. Mientras no lo uses, estarás más que bien. –