После ADT 17, как я могу использовать ActionBarSherlock И библиотеку Android Support v4?

1

Мое приложение использует ActionBarSherlock, и все работает нормально (после много хлопот с ошибкой Dalvik 1 и т.д.). Теперь я хочу использовать класс из библиотеки поддержки Android v4, но я не могу ее импортировать. Он работает, если я устанавливаю библиотеку v4 (в свойствах ABS) как экспортированный, но затем я получаю ошибку Dalvik 1 (уже добавленную).

Как я могу использовать обе эти библиотеки?

Теги:
actionbarsherlock

3 ответа

4

Если у вас все еще возникают проблемы с ABS, это может быть полезно:

  • Создание нового проекта с нуля отлично справилось с ABS и поддержкой lib, но мои существующие проекты не сработали после обновления ADT, независимо от того, что (ClassNotFoundException для основной активности)
  • Я добавил новейшую версию библиотеки поддержки в проект библиотеки ABS и ссылки на проекты, но исключение все же произошло
  • Наконец, я сравнил все файлы конфигурации работающего нового проекта и моих существующих проектов и нашел следующую разницу:

Существующие проекты:

<classpath>
  <classpathentry kind="src" path="src"/><classpathentry kind="src" path="gen"/>
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>  
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
  <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
  <classpathentry kind="output" path="bin/classes"/>
</classpath>

Недавно созданный (рабочий) проект:

<classpath>
  <classpathentry kind="src" path="src"/><classpathentry kind="src" path="gen"/>
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
  <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
  <classpathentry kind="output" path="bin/classes"/>
</classpath>

Обратите внимание, что exported атрибут установлен на true на разных узлах в файлах XML. Настройка XML файла в моем существующем проекте устранила проблему для меня.

Надеюсь, это поможет другим не тратить столько времени на это, как я. :)

Изменение: форматирование кода

2

Поскольку сам ActionBarSherlock зависит от пакета поддержки Android, просто добавление ActionBarSherlock в качестве проекта библиотеки в ваш основной проект даст вам доступ к пакету поддержки Android автоматически без каких-либо изменений. Вы увидите android-support-v4.jar в своих зависимостях Android в Проводнике пакетов.

Например, этот примерный проект ссылается на эту копию ActionBarSherlock как на проект библиотеки, и он без проблем использует android.support.v4.app.NotificationCompat.

  • 0
    Это моя проблема тогда. Я не вижу поддержки .jar в зависимостях Android.
  • 0
    посмотрите это и это может помочь вам stackoverflow.com/a/10046725/1289716
Показать ещё 4 комментария
0

Обнаружил, что это была моя старая версия ViewPagerIndicator, которая вызывала проблему. Обновление к майской версии исправлено, но мне пришлось внести небольшие изменения в мой адаптер.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню