ActionBarSherlock + Maps + Loaders = java.lang.NoClassDefFoundError

Редактировать: Подробные инструкции см. в моем ответе .

Я бьюсь над этим уже два дня, надеюсь, кто-нибудь сможет помочь.

Я пытаюсь использовать последнюю версию ActionBarSherlock (4.0) с MapView. Я знал, что это проблематично с фрагментами, но они мне не нужны в этом упражнении. Но мне нужны загрузчики, и оказывается, что для использования загрузчиков мне также нужно расширить FragmentActivity. Нет проблем, подумал я, у нас есть android-support-v4-googlemapsот Пита Дойла. Как было предложено во многих потоках SO и группах Google, я создаю ABS с помощью JAR-файла android-support-v4-googlemaps (фактически android-support-v13-r7-googlemaps.jar) вместо android-support-v4.jar. Затем я использовал его как библиотеку для своего проекта.

Теперь я хотел бы, чтобы моя деятельность выглядела следующим образом:

открытый класс BananoutMapActivity расширяет SherlockFragmentActivity, реализует LoaderCallbacks>{

Проблема:

Он компилируется, но выдает ошибку времени выполнения: E/AndroidRuntime(29159): java.lang.NoClassDefFoundError: ndl.klimczak.bananout.BananoutMapActivity

Вещи, которые я проверил трижды:

  • и проект библиотеки ActionBarSherlock, и мой проект нацелены на Google API 4.0. 3
  • У меня есть и он есть в теге приложения.
  • У меня также есть тот же файл android-support-v13-r7-googlemaps.jar в пути сборки моего проекта
  • У меня есть .BananoutMapActivity, объявленный в моем манифесте

Что интересно:

  • Когда я запускаю его на эмуляторе ICS, он работает (ошибка появляется на эмуляторах 2.* и моем устройстве 2.3.7), на Honeycomb он, вероятно, тоже будет работать, я думаю, это вопрос использования ACL

  • Когда я удаляю часть , реализующую LoaderCallbacks>, она тоже работает, но таким образом я не могу использовать LoaderManager

С какой стати ошибка NoClassDefFoundError и как заставить работать загрузчики в моей MapCapableSherlockEnabledFragmentActivity?

8
задан Community 23 May 2017 в 10:29
поделиться