Android Dex: НЕОПРЕДЕЛЕННЫЙ ТОП-УРОВЕННЫЙ ИСКЛЮЧИТЕЛЬ: Уже добавлено
Мое приложение зависит от проекта библиотеки. Этот проект библиотеки зависит от пакета совместимости Android V4. У меня НЕ экспортирована зависимость проекта библиотеки. В моем собственном проекте я добавил ACL V13 в качестве зависимости, но при компиляции я получаю ошибку, по существу, дублирующую зависимость. Я думал, что не экспорт зависимости проекта библиотеки разрешит эту проблему, но это не так.
Как я могу это решить?
ИЗМЕНИТЬ
Кроме того, согласно Android docs:
Специальный случай для android-support-v4.jar и android-support-v13.jar.
Мы делаем специальный случай для этих двух библиотек, потому что -v13 содержит полная версия -v4 внутри. Если оба найдены, то только -v13 будет б.
Поэтому он должен просто работать...
Ответы
Ответ 1
Если вы используете точно такой же lib jar в разных проектах (проект libs или стандартные проекты), инструменты apk автоматически избавляются от дубликатов.
Проблема начинается, когда у вас есть две библиотеки с одинаковым именем, но не с той же версией.
Файлы android-support-v4.jar и android-support-v13.jar могут быть из разных версий, поскольку в разных версиях пакета поддержки всегда есть одно и то же имя (http://developer.android.com/tools/extras/support-library.html#Notes)
Я бы проверял, что вы используете точно такую же ревизию библиотек поддержки в своем основном проекте и в своем проекте lib.
Чтобы убедиться, скопируйте два банка библиотек поддержки (расположенные в папке android-sdk
) в папку ваших проектов.
{android-sdk}/extras/android/support/v4/android-support-v4.jar
AND
{android-sdk}/extras/android/support/v13/android-support-v13.jar
Он должен избавиться от проблемы.
Ответ 2
Удалите пакет v4 из библиотеки.
Очистить проекты.
Ответ 3
В моем случае я только что обновил один из JAR в папке libs/для новой версии.
Все, что нужно, чтобы исправить это, было запустить Build → Rebuild Project, т.е. выдать "чистую" задачу перед "assembleDebug" и т.д.
Ответ 4
Ну, в моей истории мне пришлось удалить зависимости модулей, которые были одинаковыми, добавить их в библиотеку, а затем добавить эту библиотеку в каждый модуль как зависимость.
Итак:
Я не уверен, что это правильное решение, но оно работает.
Ответ 5
Вы пытались изменить зависимость библиотеки от v4 до v13 и экспортировать ее?
Ответ 6
Иногда простое удаление библиотеки поддержки v4 не работает, вам также нужно перестроить или проект.