Несколько файлов dex определяют Lokhttp3 / ResponseBody $ BomAwareReader [duplicate]

На моем конце отсутствует делегат UINavigationControllerDelegate.

class YourViewController:UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate

123
задан Gray 13 September 2015 в 23:08
поделиться

30 ответов

Это ошибка пути сборки.

  • Убедитесь, что папка вашего bin не включена в ваш путь сборки.
  • Щелкните правой кнопкой мыши свой проект -> перейти к свойствам -> Путь сборки.
  • Убедитесь, что библиотека Honeycomb находится в папке libs/, а не в исходной папке.
  • Включите библиотеки в libs/ отдельно в пути сборки. BTW, вы можете принести библиотеку android-support-v4, чтобы получить поддержку Sandwich Ice Cream вместо библиотеки поддержки Honeycomb.
136
ответ дан user3449439 21 August 2018 в 02:21
поделиться
  • 1
    Решила свои проблемы, спасибо! – Sean 12 February 2013 в 06:00
  • 2
    Эта проблема также возникает, если у вас есть несколько версий библиотек, включенных в ваш путь сборки физически. Удаление неиспользуемых библиотек с пути libs, очистка и сохранение проекта, перезапуск Eclipse и повторная компиляция его снова будут работать для меня. – Aryo 23 July 2013 в 07:51
  • 3
    Исключение папки bin из пути сборки разрешило это для меня. Благодаря! – alekop 27 February 2014 в 01:23
  • 4
    Основная причина проблемы заключалась в том, что одна из библиотек использовала библиотеку 9oldandroid как банку, хранящуюся в каталоге ./libs, в то время как в другом проекте использовалось девяностоандроид, ссылаясь на нее – Deepika Lalra 9 April 2014 в 06:53
  • 5
    IntelliJ 13.1. Нет таких свойств, как Properties или BuildPath ... – m0skit0 22 September 2014 в 12:50

Для меня проблема заключалась в том, что раньше я добавил проект lib (autobahn lib) и позже переключил файл Jar той же библиотеки. Хотя я удалил ссылки на старый проект библиотеки, я получал эту ошибку. После всех ответов здесь я проверил путь сборки и т. Д. Но я не добавил эти библиотеки для создания пути вручную. Поэтому мне нечего было удалить. Наконец, наткнулся на эту папку.

bin / dexedLibs

Я заметил, что было два файла jar с тем же именем, что и для Android-автозагрузки, что вызывало конфликт. Поэтому я удалил все файлы jar в папке dexedLibs и восстановил проект. Это решило проблему.

0
ответ дан Ajith Memana 21 August 2018 в 02:21
поделиться

Ну, для меня я удалил файл в папке libs под названием android support v4.jar, и все это сработало. Goodluck:)

47
ответ дан akemalFirdaus 21 August 2018 в 02:21
поделиться
  • 1
    это сработало для меня спасибо – Hassanation 23 June 2013 в 02:59
  • 2
    это сработало для меня тоже, спасибо .. :) – HimanshuR 6 November 2013 в 09:05
  • 3
    Для меня это был файл android support v4.jar (1) .jar Я просто удалил его и очистил проект! – ymerdrengene 18 September 2014 в 16:17

Простое решение ULTRA и самое лучшее:

Удалите все в правой папке главного проекта проекта -> Свойства -> путь сборки Java, кроме Android X.Y (где X.Y - версия в android). Очистить и построить. Done!

Удостоверьтесь, что перед тем, чтобы иметь один android-support-v4.jar.

0
ответ дан Andrés Fg 21 August 2018 в 02:21
поделиться

Чтобы добавить множество других потенциальных источников ... Я обновил все библиотеки в папке lib моего проекта, но затем Eclipse «помог» переустановить все исходные библиотеки. В Eclipse больше не содержалось ссылок на эти библиотеки, но внешняя программа-разработчик dex только захватила все файлы в каталоге lib и, таким образом, получила две версии нескольких файлов библиотеки .jar.

git status определил новые файлы и git clean -f избавился от них для меня (хотя мне иногда приходилось ждать или перезапускать Eclipse в Windows, потому что у него все еще были файлы, открытые из копии).

0
ответ дан Brian White 21 August 2018 в 02:21
поделиться

Я удалил зависимости Android от пути сборки, и он сработал.

2
ответ дан Cüneyt 21 August 2018 в 02:21
поделиться

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

Я добавил android-support-v4.jar в свои файлы libs / и, как-то, eclipse добавила вторую копию в bin / classes / android-support-v4.jar.

Вы можете проверить это с помощью

grep -r YourOffendingClassName YourApp | grep jar

Удаление дополнительной копии в bin / classes решило проблему - неуверенность в том, почему Eclipse сделал копию там.

6
ответ дан chaqke 21 August 2018 в 02:21
поделиться
  • 1
    Я попробовал все остальные варианты, перечисленные здесь, но это тот, который решил это для меня! :) И да, Eclipse должен умереть, и Android Studio должна получить свою версию 1.0 - тогда мир станет лучшим местом. – Johan Paul 10 April 2014 в 15:42

Моя проблема сначала была:

Не удалось выполнить dex: java.nio.BufferOverflowException. Проверьте журнал Eclipse для трассировки стека.

1) Я правой кнопкой мыши на своем проекте -> Инструменты Android -> Добавить библиотеку поддержки (запустите мое приложение ... Не работает, поэтому я сохраняю это происходит ...) 2) Щелкните правой кнопкой мыши по моему проекту еще раз -> Свойства -> Android -> Проверьте Android 4.1.2 (16) в Project Build Target (Запустите приложение снова ... и получите следующее:

Невозможно выполнить dex: несколько файлов dex определяют Landroid / support / v4 / app / BackStackState;

3) Итак, я пошел в папку «lib» в моем проекте и удалите «старый» Android.support.library.jar (запустите приложение и перекрестите пальцы и ...)

¡IT WORKS!

Надеюсь, это поможет кому-то ... Спасибо людям!

2
ответ дан daros 21 August 2018 в 02:21
поделиться

Я также столкнулся с этой проблемой в своем проекте. AVD не может перезагрузить контексты папки, lib, res и etc. проблема: Dex Loader] Невозможно выполнить dex: несколько файлов dex определяют Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl.

Затем я создал новые проекты и скопировал контекст MainActivity.java, activity_main.xml, drawable. Затем удалите старый проект из пакета explorer, перезапустите Eclipse и AVD. Мой проект теперь работает нормально .... :) Я надеюсь, что эти шаги помогут маленьким людям .. !!

8
ответ дан David Bejar 21 August 2018 в 02:21
поделиться

У меня возникла эта проблема, и это не означает, что одна и та же библиотека загружается много раз, но System пытается загрузить класс с тем же именем и, возможно, одним и тем же именем пакета одновременно, то есть

  • com.pack1.de и Class Geometry of library1.jar

и еще

  • com.pack1.de и Class Geometry of library2.jar.

Как вы должны подойти? Вы должны проанализировать, какие методы используются, метод library1.jar или library2.

Существует 2 решения,

  1. Переименуйте имя пакета, а затем dalvik интерпретирует, что они являются отдельными классами
  2. Или если вы хотите рисковать, очистите класс, который не содержит метода, который мы действительно используем.

Надеюсь, что этот вопрос часто выяснялся.

3
ответ дан Deepend 21 August 2018 в 02:21
поделиться

У меня есть одна и та же проблема, я пробовал:

  1. Элемент списка
  2. Открыть путь сборки проекта,
  3. Выбрать вкладку «Библиотеки»,
  4. Удалить всю библиотеку, кроме библиотеки Android
  5. Добавление всех необходимых файлов JAR,
  6. И сделано!

Это работает для меня, спасибо.

8
ответ дан Fedy Venom 21 August 2018 в 02:21
поделиться
  • 1
    да, я просто сделал то же самое. удалены все файлы jar, добавлены обратно. упорядочить и экспортировать, непроверенные зависимости и проверить все добавленные библиотеки сейчас – Maulik Sheth 22 September 2013 в 16:38

Эта ошибка произошла со мной, когда в проекте моего приложения я ссылался на проект библиотеки в моем рабочем пространстве Eclipse (в моем случае на SDK для Facebook) и в то же время включил в него файл SDK как банку в папке libs. Удаление ссылки на библиотеку, но сохранение jar в папке libs удалило ошибку.

1
ответ дан Gunnar Karlsson 21 August 2018 в 02:21
поделиться

Решение для меня было просто сделать следующие вещи:

  1. -> каталог lib в вашем проекте и удалить все несколько элементов.
  2. Project-> Properties-> Java-сборка Путь и удаление любой библиотеки зависимостей были добавлены автоматически, а не вами! -> Применить
  3. Перезапустить Eclipse IDE
  4. Теперь очистить проект.
  5. Запустить / Отладить на устройстве / эмуляторе проект ... Удача
3
ответ дан GuyN 21 August 2018 в 02:21
поделиться

Я нашел ниже решение в eclipse ... надеюсь, что это сработает для вас:)

Right click on the Project Name

Select Java Build Path, go to the tab Order and Export

Unchecked your .jar library's
0
ответ дан Harshal Benake 21 August 2018 в 02:21
поделиться

У меня была такая же ошибка, и каждый раз, когда я ее исправлял, она возвращалась после перезапуска Eclipse.

Прежде всего, как говорили другие люди, убедитесь, что у вас нет нескольких копий тот же .jar-файл вокруг ваших проектов.

В моем случае у меня был основной проект, который использовал ActionBarSherlock (среди других проектов библиотеки). Трюк, который сработал для меня, входил в ActionBarSherlock --> Properties --> Java Build path --> Order of Export и отменил выбор Android Private Libraries. Затем перейдем в Project -> Clean, и теперь вы сможете правильно построить проект.

Теперь, по какой-то причине, каждый раз, когда я перезапускаю Eclipse, он автоматически включает этот флажок, поэтому я должен повторить этот процесс снова.

Надеюсь, это поможет некоторым потерянным душам там:)

33
ответ дан Henrique 21 August 2018 в 02:21
поделиться

Для меня просто зайдите в Project Properties >> Java Build Path >> Order and Export. Снимите флажок со всей внешней библиотеки, как показано ниже. Это работает для меня. Надеюсь на эту помощь.

Project Properties [/g0]

15
ответ дан Hoa Hoang 21 August 2018 в 02:21
поделиться

Даже после прохождения нескольких ответов ни одно решение не работало для меня.

Я удалил «Android Dependencies» из пути сборки. Снова добавлены все файлы jar в путь сборки, и ошибка исчезла. Каким-то образом затмение, казалось, забрасывало вещи.

4
ответ дан JaydeepW 21 August 2018 в 02:21
поделиться

В случае, если кто-то еще ударит головой по этой проблеме, как я это сделал:

В моем случае была задействована цепочка библиотечных проектов. Просто сделать проект чистым во всех библиотеках исправлено все

0
ответ дан Joe Plante 21 August 2018 в 02:21
поделиться

Я оставляю этот ответ для тех, кто попадает в этот сценарий, как и я.

Я споткнулся здесь и там, прежде чем заметить, что я по ошибке перетащил файл JAR библиотеки поддержки в свою папку src, и он лежал там. Поскольку я понятия не имел, как это произошло, или когда я бросил его там, я никогда не мог себе представить, что там что-то не так.

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

3
ответ дан kishu27 21 August 2018 в 02:21
поделиться

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

Подробнее: Мое приложение зависит от 2 библиотечные проекты

  • FaceBookSDK 3.0 ->, который ссылается на android-support-v4
  • ActionBarSherlock ->, который ссылается на android-support-v4, но с модифицированной версией для поддержки карт .

Чтобы решить эту проблему, я должен был напрямую связать библиотеку FaceBookSDK с библиотекой ABS, а не с библиотекой поддержки.

59
ответ дан M.Sameer 21 August 2018 в 02:21
поделиться
  • 1
    Да, мой вопрос был похож. В двух библиотеках была httpmime-библиотека, поэтому я удалил ее и сделал ссылку на другой проект. – Matt 26 November 2012 в 16:53
  • 2
    может ли кто-нибудь из вас объяснить, как вы это сделали? – Samih A 12 December 2012 в 20:00
  • 3
    @samih в примере, который я упомянул, сначала я удалил банку android-support-v4 из папки проекта LibBook FaceBookSDK и пути сборки. Затем я добавил ссылку на проект библиотеки ActionBarSherlock. – M.Sameer 13 December 2012 в 02:37
  • 4
    В основном вам нужно проверить, дублируются ли вещи в ваших ссылках .... – Naren 10 January 2013 в 02:37
  • 5
    для меня получается, что другой разработчик добавил новую версию файла jar библиотеки, не удаляя старый. Таким образом, были две банки с одинаковыми классами. Таким образом, ошибка «Несколько файлов dex ...» Вы можете сделать grep -r 'OffendingClassName' | grep jar $ для поиска файлов jar, содержащих имя класса. – bibstha 20 January 2013 в 20:11
  • Щелкните правой кнопкой мыши по проекту и перейдите к build Path>configuration build path
  • . Выберите вкладку библиотеки и нажмите support-v4 library и нажмите кнопку удаления
  • Нажмите OK

, а затем очистите проект и запустите его: -)

1
ответ дан malik farhan 21 August 2018 в 02:21
поделиться

Если вы используете кордову, попробуйте очистить команду cordova

0
ответ дан Merbin Joe 21 August 2018 в 02:21
поделиться

Я также пытался найти, что это проблема. В моем случае произошло то, что произошло при копировании apk в электронную почту (перетаскивание) - по ошибке apk был вставлен в папку src в одном из пакетов. После удаления apk из исходной папки он работал нормально.

0
ответ дан Prabakaran 21 August 2018 в 02:21
поделиться

Перейдите в Project / properties и Java Built Path и непроверьте частные библиотеки Android

31
ответ дан Pravin Bhosale 21 August 2018 в 02:21
поделиться
  • 1
    Это решило мою проблему – Gank 4 August 2014 в 04:06
  • 2
    Исправлена ​​также моя проблема! – Totic 25 October 2014 в 22:24
  • 3
    Да, это тоже работает для меня. – NarendraJi 11 February 2015 в 09:28
  • 4
    Но его остановка gcm.jar для работы, как заставить его работать без этой ошибки? – NarendraJi 11 February 2015 в 09:43
  • 5
    У меня была ошибка: несколько dex Lcom / google / android / gms / analytics / internal / Command $ 1. Я получил это после обновления игры Google до 22.1.1. Отмена выбора частных библиотек внутри проекта google play удалила ошибку – eugene 30 April 2015 в 19:44

Для меня я удалил android-support-v4.jar из папки lib, а также удален из пути сборки.

1
ответ дан Rach 21 August 2018 в 02:21
поделиться
  • 1
    Привет, Рак, добро пожаловать в Stackoverflow. Ваш ответ был отмечен как низкокачественный из-за его длины и содержания. При ответе на вопросы, пожалуйста, предоставьте дополнительное описание того, как решить проблему. Это поможет другим и заработает репутацию :) – superhero 24 February 2015 в 10:42

Я получил эту ошибку по другой причине. Я ошибался, добавляя библиотеку поддержки v4 и v13. Это не было необходимо для меня, так как моя minSdkVersion равна 15.

Я исправил ее только только , включая библиотеку поддержки v13. Кроме того, обязательно отметьте библиотеку в пути экспорта экспортированной библиотеки в eclipse. Я также переместил его вверх.

5
ответ дан Ryan R 21 August 2018 в 02:21
поделиться
  • 1
    Это и получило меня. Библиотека поддержки v13 включает в себя библиотеку поддержки v4, поэтому dex показывал объявления нескольких классов. – Kyle Falconer 30 July 2013 в 20:05

Если некоторые из вас сталкиваются с этой проблемой с помощью facebook-connent-plugin для phonegap

, попробуйте удалить файлы в каталоге bin / class / com / facebook / android! -> и перестроить

6
ответ дан Samih A 21 August 2018 в 02:21
поделиться
  • 1
    Это правильный ответ. Объяснение: ---- facebook.android включен дважды. Один раз в facebookSDK.jar, который включен в ваш проект, и как только java-файлы будут напрямую включены в ваш проект. удаление его из вашего проекта - это чистый способ сделать это. все остальные ответы - это просто работа, которая не будет экспортировать определение или что-то еще .... – Sandeep Taneja 29 April 2014 в 12:02

У меня была такая же проблема. Мне пришлось удалить файл .apk, а затем он работал.

1
ответ дан Soup 21 August 2018 в 02:21
поделиться

У меня была эта проблема в Intellij, и именно потому, что библиотека ActionBarSherlock, добавленная в мой проект, определяла android-support-v4.jar как зависимость от компиляции, и эта банка уже была включена в мой проект, поэтому было несколько копий / версий DEX во время компиляции.

Решение заключалось в том, чтобы изменить зависимость модуля ActionBarSherlock для этой банки как Runtime вместо компиляции, поскольку мой проект уже предоставлял ее.

0
ответ дан TimT 21 August 2018 в 02:21
поделиться

Эта проблема возникает, когда одна и та же библиотека добавляется в ваш проект несколько раз. Если вы не добавили библиотеку несколько раз преднамеренно, проверьте библиотеки зависимостей / частных библиотек, которые вы добавили в свой проект, скорее всего, они уже включили библиотеку, которая вызывает этот конфликт.

0
ответ дан Umer Farooq 21 August 2018 в 02:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: