Подтвердить что ты не робот

Android Dex: НЕОПРЕДЕЛЕННЫЙ ТОП-УРОВЕННЫЙ ИСКЛЮЧИТЕЛЬ: Уже добавлено

Мое приложение зависит от проекта библиотеки. Этот проект библиотеки зависит от пакета совместимости Android V4. У меня НЕ экспортирована зависимость проекта библиотеки. В моем собственном проекте я добавил ACL V13 в качестве зависимости, но при компиляции я получаю ошибку, по существу, дублирующую зависимость. Я думал, что не экспорт зависимости проекта библиотеки разрешит эту проблему, но это не так.

Как я могу это решить?

ИЗМЕНИТЬ

Кроме того, согласно Android docs:

Специальный случай для android-support-v4.jar и android-support-v13.jar.

Мы делаем специальный случай для этих двух библиотек, потому что -v13 содержит полная версия -v4 внутри. Если оба найдены, то только -v13 будет б.

Поэтому он должен просто работать...

4b9b3361

Ответ 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

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

Итак:

  • Модуль a: зависит от android-v4 (и имеет его в папке lib)
  • Модуль b: зависит от android-v4 (и имеет его в папке lib)

    • Добавить в библиотеки проекта "android-v4" (для ex из 1-го модуля). Удалите его в папке модуля b lib.

    • Удалить в модулях a и b зависимость android-v4

    • Добавьте к каждой зависимости модуля → library → android-v4 (которую вы создали за 2 шага)

Я не уверен, что это правильное решение, но оно работает.

Ответ 5

Вы пытались изменить зависимость библиотеки от v4 до v13 и экспортировать ее?

Ответ 6

Иногда простое удаление библиотеки поддержки v4 не работает, вам также нужно перестроить или проект.