Невозможно выполнить dex: несколько файлов dex определяют массив Lcom / myapp / R $;

Начиная с обновления до ADT 14 я больше не могу строить свой проект. Он был строит до обновления.

Ошибка:

 [2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array; [2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array; 

Сообщалось о подобных проблемах, и я пробовал предложения там, в том числе

  • Перезапуск Eclipse .
  • Очистка проекта и перестройка – отключите опцию «Project-> Build Automatically», затем «Clean» и «Build», затем попробуйте запустить. Сбросить опцию «Создать автоматически» в положение «Вкл.»
  • Переустановка Android Developer Tools
  • Переустановка Eclipse (обновлена ​​до последней версии 3.7.1)
  • Создал новый проект, импортирующий из файловой системы
  • Создал новый проект из подрывной деятельности.

У меня была такая же проблема, довольно странная, потому что это происходило только при использовании Eclipse (но все было в порядке с Ant). Вот как я это исправил:

  • Щелкните правой кнопкой мыши название Project Name
  • Выберите « Build Path -> « Configure Build Path
  • В Java Build Path перейдите на вкладку « Order and Export

  • Снимите .jar library

Только иногда: на вкладке «Заказ и экспорт» у меня не было библиотеки jar, поэтому я заблокировал элемент «Частные библиотеки Android». Теперь мой проект запущен.

Моя проблема была решена после очистки некоторых каталогов и файлов, оставшихся от предыдущих версий инструментов. ADT Rev 14 изменяется там, где хранятся двоичные файлы . Я удалил весь каталог bin, перезапустил Eclipse и очистил сборку и принудительно восстановил. Первоначально это делало трюк, но проблема возникла после следующего прогона.

Наконец, я обнаружил, что мой каталог bin был включен в путь построения проекта. Я исключил bin из пути сборки и повторил описанные выше шаги. Это решило мою проблему.

[Решено для меня]

Свойства проекта Eclipse-> Java build path-> Order and export

Снимите флажки с частных библиотек Android.

Ничто из перечисленного не помогло. Это была простая проблема в конце.

У меня был проект, который использует FacebookSDK и ViewPagerIndicator в качестве проектов библиотеки. Все они были построены на Android API 16, и эти два проекта использовали библиотеку поддержки android vX (X не было 16!)

Я добавил внешний JAR для обоих этих проектов и указал его на \ extras \ android \ v4 … И также удалил ящик v4, который у меня был в их папках с libs.

Очистите все проекты и перестройте.

Voilla!

Точная ошибка, которую я получал: Не удалось выполнить dex: Несколько файлов dex определяют Landroid / support / v4 / view / PagerAdapter; Не удалось выполнить преобразование в формат Dalvik: невозможно выполнить dex: несколько файлов dex определяют Landroid / support / v4 / view / PagerAdapter;

Эта проблема происходила у меня, у меня был внешний .jar в моей папке libs под названием gson-2.2.2.jar, но по некоторым причинам их было два, gson-2.2.2.jar и gson-2.2.2.jar ( 1), я просто удалил последний, и мой проект был построен отлично.

  1. Закрыть затмение.
  2. Удалите папку bin внутри папки проекта.
  3. Запустите eclipse и очистите проект.
  4. Теперь запустите, и проблема должна исчезнуть

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

Для меня это произошло, когда я добавил android-support-v4.jar в свою папку libs /, и каким-то образом затмение добавило вторую копию в bin / classes / android-support-v4.jar.

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

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

Grep -r YourOffendingClassName YourApp | Гребень

Для меня я просто щелкнул правой кнопкой мыши по проекту -> Путь сборки -> настроить путь сборки -> Библиотеки -> удалить зависимость

После его работы.

Эта ошибка может возникнуть, если у вас есть две банки, содержащие одни и те же имена классов, например, у меня была две библиотеки: jsr311-api-1.1.1.jar и jersey-core-1.17.1.jar, причем оба они содержат класс javax.ws .rs.ApplicationPath. Я удалил jsr311-api-1.1.1.jar, и он работал нормально.

Я получил эту ошибку после добавления facebookdk.jar в проект, который уже имел зависимости от android-support-v4.jar . Поскольку facebookdk.jar уже включает в себя свою собственную поддержку android-v4.jar, возникли конфликты. Удаление предыдущей версии android-support-v4.jar из проектов Properties / Java Build Path / Libraries разрешило проблему для меня.

Перейдите в Project / properties и Java Build Path и отключите частные библиотеки Android .

Это еще один случай такой ошибки

Готово

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

Изменить: игнорировать это. У меня была такая же банка в моих зависимостях maven и libs. Я удалил его в папке lib.

Использование Eclipse:

Перейти к properties проекта> Java build path > Order and export

Затем снимите Android private libraries .

Вероятно, вы установили r14 , эта ошибка, возможно, была вызвана обновлением инструментов платформы, вам необходимо переустановить ваш sdk

Для меня эта проблема существует только до тех пор, пока в моем проекте участвуют проекты библиотеки Android. Поэтому, когда я удаляю все библиотеки и делаю, как вы сказали, я снова могу запустить свое приложение. Если есть вовлеченные библиотеки, то даже трюк с извлечением мусора выиграл.

Я не понимаю, почему эта ошибка появилась сегодня, так как я использую ADT 14 уже несколько дней. Ну, были и другие ошибки, которые все равно меня радуют.

Недостаточно удалить папку bin, я также удалил папку gen. Затем после двух перестроек сообщение об ошибке dex исчезло.

Выберите проект в Проводнике проекта , щелкните правой кнопкой мыши и выберите « Свойства» -> « Путь сборки Java» -> « Источник» -> Установите флажок « Разрешить выходные папки для исходных папок»

В основном я столкнулся с той же проблемой. Я удалил папку BIN, а затем удалил неиспользуемые файлы jar для Order and Import из eclipse. ЭТО РАБОТАЕТ после этого

Я опаздываю на эту вечеринку, но добавляю свой собственный опыт, чтобы снова найти его позже 🙂

Я столкнулся с этой проблемой после обновления андроидов sdk и eclipse. Никакое обновление не будет безнаказанным!

Проблема для меня была связана с библиотечными проектами, мое приложение ссылается как на стандартные проекты Java, так и на проекты библиотеки Android. Я заметил, что параметры пути Java Build Path включали проекты src и res в библиотеке проектов android в списке источников (для всех, у которых упоминается бит в источнике, проблема с src и res была также проблемой).

Таким образом, решение было:

  1. Удалите все ссылки на источник и ссылки на источники ссылок на Android из раздела «Путь сборки Java» в настройках как в списке источников, так и в списке «Проект»
  2. Убедитесь, что чистые java-зависимости указаны в списке Project и отмечены на вкладке Order and Export, поэтому классы включены в apk
  3. Убедитесь, что все зависимости от библиотеки Android указаны в разделе свойств проекта Android в разделе библиотеки под проверенными версиями SDK.

Это было вместе, чтобы собрать все это вместе с другими решениями! Уф!

Я столкнулся с этим, когда я обновил его с 14 до 15, и чтобы заставить его работать, я просто удалил папку .eclipse (вместе с моими настройками) и повторно установил adt 15.

После прочтения ответа Terrys об удалении каталога bin и Larrys о расположении каталога ANT:

Я переместил файлы, расположенные в моей директории BIN проектов, в BIN / CLASSES и начал работать.

Редактировать 1 Затем не удалось выполнить второй запуск … doh

Edit 2 So closed Eclipse переместил файлы обратно в исходное местоположение и все его рабочие … что? Я не притворяюсь, что знаю, почему это сработало. Будет обновляться, если какие-либо изменения.

Редактирование 3 Я заметил из своих резервных копий, что в каталоге BIN и BIN / CLASSES действительно есть дубликаты файлов.

Итак, ответ: не иметь файлов в обоих местах. По крайней мере, для меня это сработало.

Измените файл eclipse.ini и установите максимальный параметр памяти для

 -Xmx1024m 

Затем перезагрузите компьютер.

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

Нашел решение, я верю ???

  [2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1; 

Где он говорит: «Lcom / coremedia / iso / AbstractBoxParser $ 1», который, как оказалось, является местоположением библиотеки, которую я импортировал, что вызывало проблему. Посмотрел com.codemedia.iso.AbstractBoxParser $ 1.class и .AbstractBoxParser.class …. взял эту банку, распаковал ее, удалил оба из этих файлов, затем переупакован как .zip, добавил в библиотеку, очистился и работал! Больше не конфликт для меня! (Также нет обновлений или дополнительных загрузок)

У меня было две разные версии Кордова .jar-файлов в папке libs, я удалил ту, которую я даже не использовал, и это сработало сразу. Странно, потому что я этого раньше не замечал, и он работал раньше, а затем внезапно прекратил работать …

Обновление ADT R14 изменяется, когда классы переходят в каталог bin / classes (см. http://tools.android.com/recent/buildchangesinrevision14 ). Если вы используете ANT, вы должны изменить путь для своих классов из bin в bin / classes. Это сработало для меня.

Решение для меня:

  1. НАЗАД К ВАШЕМУ КОДУ!
  2. Перейдите в рабочее пространство проекта (а не в свой проект) и выполните следующие команды:

    Dev1: workspace $ cd ~ / Documents / workspace / .metadata / .plugins / dev1: рабочее пространство $ rm -rf org.eclipse.core.resources

  3. Перейдите в каталог Eclipse и введите следующую команду:

    Dev1: eclipse $ ./eclipse clear

  4. Eclipse начнется с пустой рабочей области – не беспокойтесь, ваши проекты все еще существуют. Просто создайте новый проект из существующего ресурса, и все должно быть подлито.

Точная ошибка, которую я получал: [2012-02-07 14:15:53 ​​- Dex Loader] Не удалось выполнить dex: несколько файлов dex определяют Landroid / support / v4 / view / PagerAdapter; [2012-02-07 14:15:53 ​​- ProjectCloud] Не удалось конвертировать в формат Dalvik: невозможно выполнить dex: несколько файлов dex определяют Landroid / support / v4 / view / PagerAdapter;

У меня есть несколько проектов библиотек с таким же именем пакета, которое указано в AndroidManifest (поэтому никакие дублированные имена полей не генерируются R.java). Мне пришлось удалить любые разрешения и действия из AndroidManifest.xml для всех проектов библиотек, чтобы удалить ошибку, поэтому Manifest.java не создавался несколько раз. Надеюсь, это может помочь кому-то.

Попробовав все другие предложения без везения, я удалил все содержимое каталога «bin» моих проектов, а затем снова запустил eclipse, и он сработал.

Я преобразовал проект небиблиотеки в проект библиотеки, но у него был ранее созданный файл jar в папке libs. Удаление этого файла jar заставило эту ошибку уйти.

Я столкнулся с одной и той же проблемой, после чего увидел, что прикладываю к моему приложению некоторые файлы jar, которые были загружены дважды, и, следовательно, множественная ошибка dex. Просто перейдите к своим свойствам проекта -> Java Build Path и попробуйте снять флажок, который загружается дважды.