С момента обновления до 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", затем попробуйте запустить. reset "Создать автоматически" для параметра "Вкл."
- Повторная установка инструментов разработчика
Android
- Повторная установка Eclipse (обновлена до последней версии 3.7.1)
- Создал новый проект, импортирующий из файловой системы
- Создал новый проект из подрывной деятельности.
Ответ 1
Моя проблема была решена после очистки некоторых каталогов и файлов, оставшихся от предыдущих версий инструментов. ADT Rev 14 изменяет, где хранятся двоичные файлы. Я удалил весь каталог bin, перезапустил Eclipse и очистил сборку и принудительно восстановил. Сначала это показалось, но проблема возникла после следующего прогона.
Наконец-то я обнаружил, что мой каталог bin был включен в путь построения проекта. Я исключил bin из пути сборки и повторил описанные выше шаги. Это решило мою проблему.
Ответ 2
У меня была такая же проблема, довольно странная, потому что это происходило только при использовании Eclipse (но все было в порядке с Ant).
Вот как я его исправил:
Только иногда:
Вкладка "Заказ" и "Экспорт" у меня не было библиотеки jar, поэтому я заблокировал элемент "Частные библиотеки Android". Теперь мой проект запущен.
Ответ 3
[Решено для меня]
Свойства проекта Eclipse- > Java build path- > Order and export
Снимите флажки с частных библиотек Android.
Ответ 4
Ничего из этого не помогло.
Это была простая проблема в конце.
У меня был проект, который использует 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;
Ответ 5
Эта проблема происходила у меня, у меня был внешний .jar в моей папке libs под названием gson-2.2.2.jar, но по некоторым причинам их было два, gson-2.2.2.jar и gson-2.2.2.jar(1), я просто удалил последний, и мой проект снова был построен отлично.
Ответ 6
- Закрыть eclipse.
- Удалить папку bin внутри папки проекта.
- Запустите eclipse и очистите проект.
- Теперь запустите, и проблема не исчезнет
Ответ 7
Как упоминалось выше, это происходит, когда у вас есть несколько копий одного и того же класса в пути сборки, в том числе bin/в вашем пути к классам, является одним из способов гарантировать эту проблему.
Для меня это произошло, когда я добавил android-support-v4.jar в свою папку libs/, и каким-то образом затмение добавило вторую копию в bin/classes/android-support-v4.jar.
Удаление дополнительной копии в bin/classes решило проблему - неуверенность в том, почему Eclipse сделал там копию.
Вы можете проверить это с помощью
grep -r YourOffendingClassName YourApp | grep jar
Ответ 8
Для меня я просто щелкнул правой кнопкой мыши по проекту → Путь сборки → настроить путь сборки → Библиотеки → удалить зависимость
после его работы.
Ответ 9
Эта ошибка может произойти, если у вас есть две банки, содержащие одни и те же имена классов, например. У меня было две библиотеки: jsr311-api-1.1.1.jar и jersey-core-1.17.1.jar, оба из которых содержат класс javax.ws.rs.ApplicationPath. Я удалил jsr311-api-1.1.1.jar и работал нормально.
Ответ 10
Я получал эту ошибку после добавления facebooksdk.jar к проекту, который уже имел зависимости от android-support-v4.jar. Поскольку facebookdk.jar уже включает в себя свою собственную android-support-v4.jar, были конфликты. Удаление ранее android-support-v4.jar из проектов Properties/Java Build Path/Libraries разрешило проблему для меня.
Ответ 11
Перейдите в Проект/свойства и Java Путь сборки и не отмечены частные библиотеки Android.
![This is also another case for this kind of error]()
Готово
Ответ 12
Я удалил зависимости Android от пути сборки, и он сработал.
Изменить: игнорировать это. У меня была такая же банка в моих зависимостях maven и libs. Я удалил его в папке lib.
Ответ 13
Использование Eclipse:
перейти к проекту properties
> Java build path
> Order and export
затем снимите флажок Android private libraries
.
Ответ 14
У вас, вероятно, установлен r14, эта ошибка, возможно, была вызвана из-за обновления инструментов платформы, вам необходимо повторно установить свой sdk
Ответ 15
Для меня эта проблема существует только в том случае, если в моем проекте задействованы проекты библиотеки Android. Поэтому, когда я удаляю все библиотеки и делаю, как вы сказали, я могу снова запустить свое приложение.
Если есть задействованные библиотеки, даже трюк с извлечением мусора выиграл.
Я не понимаю, почему эта ошибка появилась сегодня, так как я использую ADT 14 уже несколько дней. Ну, были и другие ошибки, которые все еще меня радуют.
Ответ 16
Удаление папки bin было недостаточно, я также удалил папку gen. Затем после двух перестроек сообщение об ошибке dex исчезло.
Ответ 17
Выберите проект в Проводнике проекта, щелкните правой кнопкой мыши и выберите "Свойства" → "Путь сборки Java" → "Источник" → Установите флажок "Разрешить выходные папки для исходных папок"
Ответ 18
В основном я столкнулся с той же проблемой.
Я удалил папку BIN, а затем удалил неиспользуемые файлы jar для Order and Import из eclipse.
ЭТО РАБОТАЕТ после этого
Ответ 19
Я опаздываю на эту вечеринку, но добавляю свой собственный опыт, чтобы потом найти его позже:)
Я столкнулся с этой проблемой после обновления андроидов sdk и eclipse. Никакое обновление не будет безнаказанным!
Проблема для меня была связана с библиотечными проектами, мое приложение ссылается как на стандартные проекты Java, так и на проекты библиотеки Android. Я заметил, что в настройках пути Java Build Path были включены проекты библиотек android library src и res в списке Source (для всех, у которых упоминается bin в исходном выпуске, src и res также была проблема).
Итак, решение было:
- Удалите все ссылки на источник и ссылки на ссылки на сайты Android из раздела "Путь сборки Java" в настройках как в списке источников, так и в списке "Проект"
- Убедитесь, что чистые java-зависимости указаны в списке Project и отмечены на вкладке Order и Export, поэтому классы включены в apk
- Убедитесь, что все зависимости в Android-библиотеке указаны в разделе свойств проекта Android в разделе библиотеки под проверенными версиями SDK.
Это было вместе, чтобы собрать все это вместе с другими решениями! Уф!
Ответ 20
Я столкнулся с этим, когда я обновил его с 14 до 15, и чтобы заставить его работать, я просто удалил папку .eclipse(вместе с моими настройками) и повторно установил adt 15.
Ответ 21
После прочтения ответа Terrys об удалении каталога bin и Larrys о местонахождении каталога ANT:
Я переместил файлы, расположенные в моей директории BIN проектов, в BIN/CLASSES и начал работать.
Изменить 1
Затем не удалось выполнить второй запуск... doh
Изменить 2
Итак, закрытые Eclipse переместили файлы обратно в исходное местоположение и все его рабочие... что?
Я не притворяюсь, что знаю, почему это сработало. Будет обновлен при любых изменениях.
Изменить 3
Я заметил из своих резервных копий, что в каталоге BIN и BIN/CLASSES действительно есть дубликаты файлов.
Итак, ответ: не иметь файлов в обоих местах. По крайней мере, для меня это сработало.
Ответ 22
Измените файл eclipse.ini и установите для параметра максимальной памяти значение
-Xmx1024m
Затем перезагрузите компьютер.
Это сработало для меня.
Ответ 23
нашел решение, я верю???
[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, добавил в библиотеку, очистился и работает! больше не конфликт для меня! (также нет обновлений или дополнительных загрузок)
Ответ 24
У меня было две разные версии кордовой .jar файлов в моей папке libs, я удалил ту, которую я даже не использовал, и это сработало сразу.
Странно, потому что я этого раньше не замечал, и он работал до этого, а затем внезапно прекратил работать...
Ответ 25
Обновление ADT R14 изменяется, когда классы переходят в каталог bin/classes (см. http://tools.android.com/recent/buildchangesinrevision14). Если вы используете ANT, вы должны изменить путь для своих классов из bin в bin/classes. Это сработало для меня.
Ответ 26
Решение для меня:
- НАЗАД ВАШЕГО КОДА!
-
Перейдите в рабочую область проекта (не ваш проект) и выполните следующие команды:
dev1: рабочее пространство $cd ~/Documents/workspace/.metadata/.plugins/
dev1: рабочее пространство $rm -rf org.eclipse.core.resources
-
Перейдите в каталог Eclipse и введите следующую команду:
dev1: eclipse $./eclipse clear
-
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;
Ответ 27
У меня есть несколько проектов библиотек с тем же именем пакета, которое указано в AndroidManifest (поэтому никакие дублированные имена полей не генерируются R.java). Мне пришлось удалить любые разрешения и действия из AndroidManifest.xml для всех проектов библиотеки, чтобы удалить ошибку, поэтому Manifest.java не создавался несколько раз. Надеюсь, это может помочь кому-то.
Ответ 28
Попробовав все другие предложения без везения, я удалил все содержимое каталога "bin" моих проектов, а затем снова запустил eclipse и работал.
Ответ 29
Я преобразовал проект небиблиотеки в проект библиотеки, но у него был ранее созданный файл jar в папке libs. Удаление этого файла jar заставило эту ошибку уйти.
Ответ 30
Я столкнулся с одной и той же проблемой, после чего увидел, что при нажатии моего приложения несколько файлов jar, которые были загружены дважды, и, следовательно, многократная ошибка dex. Просто перейдите к своим свойствам проекта → Java Build Path и попробуйте снять флажок, который загружается дважды.