Мое приложение использует ActionBarSherlock, и все работает нормально (после много хлопот с ошибкой Dalvik 1 и т.д.). Теперь я хочу использовать класс из библиотеки поддержки Android v4, но я не могу ее импортировать. Он работает, если я устанавливаю библиотеку v4 (в свойствах ABS) как экспортированный, но затем я получаю ошибку Dalvik 1 (уже добавленную).
Как я могу использовать обе эти библиотеки?
Если у вас все еще возникают проблемы с 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 файла в моем существующем проекте устранила проблему для меня.
Надеюсь, это поможет другим не тратить столько времени на это, как я. :)
Изменение: форматирование кода
Поскольку сам ActionBarSherlock зависит от пакета поддержки Android, просто добавление ActionBarSherlock в качестве проекта библиотеки в ваш основной проект даст вам доступ к пакету поддержки Android автоматически без каких-либо изменений. Вы увидите android-support-v4.jar
в своих зависимостях Android в Проводнике пакетов.
Например, этот примерный проект ссылается на эту копию ActionBarSherlock как на проект библиотеки, и он без проблем использует android.support.v4.app.NotificationCompat
.
Обнаружил, что это была моя старая версия ViewPagerIndicator, которая вызывала проблему. Обновление к майской версии исправлено, но мне пришлось внести небольшие изменения в мой адаптер.