Странная ошибка при попытке использовать библиотеку appcompat android v7

Я только что включил библиотеку android v7-appcompat в свой проект. Я успешно добавил банки в путь сборки и теперь использую тему Theme.AppCompat. Теперь я получаю эту странную ошибку:

[Dex Loader] Невозможно выполнить dex: Несколько файлов dex определяют Landroid/support/v7/app/ActionBar$Callback; [2013-10-09 11:11:50 - DelTest2] Ошибка преобразования в формат Dalvik: невозможно выполнить dex: несколько файлов dex определяют Landroid/support/v7/app/ActionBar$Callback;

ИЗМЕНИТЬ

Мой проект теперь содержит три папки, каждая из которых содержит приложение android v7:

+Android Private Libraries
+Android Dependencies
+Referenced Libraries

Какую из этих библиотек я должен удалить, чтобы мой проект заработал?


person vamsiampolu    schedule 09.10.2013    source источник
comment
stackoverflow.com/ вопросы/8059719/   -  person Arash GM    schedule 09.10.2013


Ответы (7)


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

Один из них находится в вашем проекте, а другой — в библиотеке, которую вы добавили в свой проект. Просто удалите одну библиотеку, которую вы добавили в свой проект. А затем очистите и запустите приложение.

Вот и все.

person GrIsHu    schedule 09.10.2013

Сначала я удалил все jar-файлы из пути сборки, а затем добавил jar-файлы из библиотеки appcompat для Android v7. Это создало папку «Справочные библиотеки» в моем проекте, где упоминались эти две библиотеки.

Кроме того, я обнаружил, что тема, которая поставляется с библиотекой appcompat, темная. Вместо этого я использую тему AppCompat.Light.

person vamsiampolu    schedule 09.10.2013

Удалите android-support-v4.jar из проекта, поскольку он уже существует в библиотеке.

person NARESH REDDY    schedule 09.10.2013
comment
Не сработало, указывает ли сообщение, что у меня есть дубликат библиотеки appcompat android v7? - person vamsiampolu; 09.10.2013
comment
Очистите проект, соберите его снова и проверьте один раз - person NARESH REDDY; 09.10.2013
comment
В моем проекте я нашел три копии библиотеки jar для Android v7. Я отредактировал свой вопрос. - person vamsiampolu; 09.10.2013
comment
Удалите добавленные файлы jar из пути сборки, очистите и соберите один раз - person NARESH REDDY; 09.10.2013

Просто используйте проект библиотеки android v7-appcompat и, самое главное,

убедитесь, что этот проект библиотеки НЕ зависит от android-support-v7-appcompat.jar, если вы уже скачали исходные файлы поддержки v7 и разархивировали их в папку /src.

Это хорошо работает для меня.

person Xieyi    schedule 06.01.2014

Я использовал этот пост для решения своей проблемы: Невозможно выполнить dex: Несколько файлов dex определяют

Я только что перешел к настройке пути сборки и снял флажок со ссылкой на банку v7, так как заметил, что у меня уже есть ссылка на v4 в папке libs моего проекта.

person m4gik    schedule 21.09.2014

У меня была та же проблема, и мое решение - отключить инкрементный dex. Для этого откройте Файл > Структура проекта > Имя вашего модуля Gradle>, затем в Свойства установите для параметра Incremental Dex значение false.

person Vsevolod Poletaev    schedule 16.01.2016

У меня была такая же проблема, и для ее решения я очищаю проект (Build > Clean Project), а затем перестраиваю его.

person panais    schedule 15.01.2014