С момента обновления до 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
.Android
Моя проблема была решена после очистки некоторых каталогов и файлов, оставшихся от предыдущих версий инструментов. ADT Rev 14 изменяет, где хранятся двоичные файлы. Я удалил весь каталог bin, перезапустил Eclipse и очистил сборку и принудительно восстановил. Сначала это показалось, но проблема возникла после следующего прогона.
Наконец-то я обнаружил, что мой каталог bin был включен в путь построения проекта. Я исключил bin из пути сборки и повторил описанные выше шаги. Это решило мою проблему.
У меня была такая же проблема, довольно странная, потому что это происходило только при использовании Eclipse (но все было в порядке с Ant). Вот как я его исправил:
Project Name
Build Path
→ Configure Build Path
В Java Build Path
перейдите на вкладку Order and Export
Снимите флажок .jar
библиотеки
Только иногда: Вкладка "Заказ" и "Экспорт" у меня не было библиотеки jar, поэтому я заблокировал элемент "Частные библиотеки 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;
[Решено для меня]
Свойства проекта Eclipse- > Java build path- > Order and export
Снимите флажки с частных библиотек Android.
Эта проблема происходила у меня, у меня был внешний .jar в моей папке libs под названием gson-2.2.2.jar, но по некоторым причинам их было два, gson-2.2.2.jar и gson-2.2.2.jar(1), я просто удалил последний, и мой проект снова был построен отлично.
/libs
оставшуюся банку из предыдущего эксперимента, в результате чего был создан и библиотечный проект, и .jar, сгенерированный из него. Удаление этого jar в /libs
решает проблему. +1
Как упоминалось выше, это происходит, когда у вас есть несколько копий одного и того же класса в пути сборки, в том числе bin/в вашем пути к классам, является одним из способов гарантировать эту проблему.
Для меня это произошло, когда я добавил android-support-v4.jar в свою папку libs/, и каким-то образом затмение добавило вторую копию в bin/classes/android-support-v4.jar.
Удаление дополнительной копии в bin/classes решило проблему - неуверенность в том, почему Eclipse сделал там копию.
Вы можете проверить это с помощью
grep -r YourOffendingClassName YourApp | grep jar
Для меня я просто щелкнул правой кнопкой мыши по проекту → Путь сборки → настроить путь сборки → Библиотеки → удалить зависимость
после его работы.
Эта ошибка может произойти, если у вас есть две банки, содержащие одни и те же имена классов, например. У меня было две библиотеки: jsr311-api-1.1.1.jar и jersey-core-1.17.1.jar, оба из которых содержат класс javax.ws.rs.ApplicationPath. Я удалил jsr311-api-1.1.1.jar и работал нормально.
Я получал эту ошибку после добавления facebooksdk.jar к проекту, который уже имел зависимости от android-support-v4.jar. Поскольку facebookdk.jar уже включает в себя свою собственную android-support-v4.jar, были конфликты. Удаление ранее android-support-v4.jar из проектов Properties/Java Build Path/Libraries разрешило проблему для меня.
Перейдите в Проект/свойства и Java Путь сборки и не отмечены частные библиотеки Android.
Готово
Я удалил зависимости Android от пути сборки, и он сработал.
Изменить: игнорировать это. У меня была такая же банка в моих зависимостях maven и libs. Я удалил его в папке lib.
Использование Eclipse:
перейти к проекту properties
> Java build path
> Order and export
затем снимите флажок Android private libraries
.
Для меня эта проблема существует только в том случае, если в моем проекте задействованы проекты библиотеки Android. Поэтому, когда я удаляю все библиотеки и делаю, как вы сказали, я могу снова запустить свое приложение. Если есть задействованные библиотеки, даже трюк с извлечением мусора выиграл.
Я не понимаю, почему эта ошибка появилась сегодня, так как я использую ADT 14 уже несколько дней. Ну, были и другие ошибки, которые все еще меня радуют.
У вас, вероятно, установлен r14, эта ошибка, возможно, была вызвана из-за обновления инструментов платформы, вам необходимо повторно установить свой sdk
В основном я столкнулся с той же проблемой. Я удалил папку BIN, а затем удалил неиспользуемые файлы jar для Order and Import из eclipse. ЭТО РАБОТАЕТ после этого
Выберите проект в Проводнике проекта, щелкните правой кнопкой мыши и выберите "Свойства" → "Путь сборки Java" → "Источник" → Установите флажок "Разрешить выходные папки для исходных папок"
Удаление папки bin было недостаточно, я также удалил папку gen. Затем после двух перестроек сообщение об ошибке dex исчезло.
Я опаздываю на эту вечеринку, но добавляю свой собственный опыт, чтобы потом найти его позже:)
Я столкнулся с этой проблемой после обновления андроидов sdk и eclipse. Никакое обновление не будет безнаказанным!
Проблема для меня была связана с библиотечными проектами, мое приложение ссылается как на стандартные проекты Java, так и на проекты библиотеки Android. Я заметил, что в настройках пути Java Build Path были включены проекты библиотек android library src и res в списке Source (для всех, у которых упоминается bin в исходном выпуске, src и res также была проблема).
Итак, решение было:
Это было вместе, чтобы собрать все это вместе с другими решениями! Уф!
У меня было две разные версии кордовой .jar файлов в моей папке libs, я удалил ту, которую я даже не использовал, и это сработало сразу. Странно, потому что я этого раньше не замечал, и он работал до этого, а затем внезапно прекратил работать...
нашел решение, я верю???
[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, добавил в библиотеку, очистился и работает! больше не конфликт для меня! (также нет обновлений или дополнительных загрузок)
Измените файл eclipse.ini и установите для параметра максимальной памяти значение
-Xmx1024m
Затем перезагрузите компьютер.
Это сработало для меня.
После прочтения ответа Terrys об удалении каталога bin и Larrys о местонахождении каталога ANT:
Я переместил файлы, расположенные в моей директории BIN проектов, в BIN/CLASSES и начал работать.
Изменить 1 Затем не удалось выполнить второй запуск... doh
Изменить 2 Итак, закрытые Eclipse переместили файлы обратно в исходное местоположение и все его рабочие... что? Я не притворяюсь, что знаю, почему это сработало. Будет обновлен при любых изменениях.
Изменить 3 Я заметил из своих резервных копий, что в каталоге BIN и BIN/CLASSES действительно есть дубликаты файлов.
Итак, ответ: не иметь файлов в обоих местах. По крайней мере, для меня это сработало.
Я столкнулся с этим, когда я обновил его с 14 до 15, и чтобы заставить его работать, я просто удалил папку .eclipse(вместе с моими настройками) и повторно установил adt 15.
У меня есть несколько проектов библиотек с тем же именем пакета, которое указано в AndroidManifest (поэтому никакие дублированные имена полей не генерируются R.java). Мне пришлось удалить любые разрешения и действия из AndroidManifest.xml для всех проектов библиотеки, чтобы удалить ошибку, поэтому Manifest.java не создавался несколько раз. Надеюсь, это может помочь кому-то.
Решение для меня:
Перейдите в рабочую область проекта (не ваш проект) и выполните следующие команды:
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;
Обновление ADT R14 изменяется, когда классы переходят в каталог bin/classes (см. http://tools.android.com/recent/buildchangesinrevision14). Если вы используете ANT, вы должны изменить путь для своих классов из bin в bin/classes. Это сработало для меня.
[Решено для меня]
удалив дубликат библиотеки "JAR файл", затем удалите файл BuildConfig.java, очистите проект и его работу.
Я столкнулся с одной и той же проблемой, после чего увидел, что при нажатии моего приложения несколько файлов jar, которые были загружены дважды, и, следовательно, многократная ошибка dex. Просто перейдите к своим свойствам проекта → Java Build Path и попробуйте снять флажок, который загружается дважды.
Я преобразовал проект небиблиотеки в проект библиотеки, но у него был ранее созданный файл jar в папке libs. Удаление этого файла jar заставило эту ошибку уйти.
Попробовав все другие предложения без везения, я удалил все содержимое каталога "bin" моих проектов, а затем снова запустил eclipse и работал.
Я попробовал большую часть вышеупомянутого решения, и в прошлом некоторые из них работали.
Но на этот раз никто из них не работал, поэтому я удалил файл .jar проекта библиотеки. и перестроить проект библиотеки и приложения.
И на этот раз это сработало!
Убедитесь, что "android-support-v4.jar" не отмечен на вкладке Заказ и экспорт в пути сборки Java
Выполните следующие действия:
Я столкнулся с той же проблемой. Проблема, я обнаружил, что у меня есть проект библиотеки, в этом файле манифеста проекта нет свойства targetSdkVersion. Я добавил это свойство в теге (uses-sdk). Затем очистите мой проект. Теперь мое приложение работает нормально.
У меня была аналогичная проблема, когда я добавил ActionBarSherlock в качестве библиотеки в моем проекте. Eclipse ADT v21.0 предварительно созданных файлов dex, предположительно, для более быстрого построения проекта. Эти файлы dex были такими же, как некоторые из файлов jar в моей папке lib. Так что просто держите одну и удаляйте другую. Я удалил те, что были в папке lib, когда файлы с расширением были созданы автоматически.
Попробуйте удалить R.java и позволить eclipse повторно сгенерировать его.
Это происходит, когда в нашем приложении у нас есть папка libs с gson jar
(например: gson-2.2.4.jar).
В свое время наша библиотека Google Play Service уже имеет Gson
.
я удалю его из своего приложения и its work fine now
.
Найден другой сценарий, в котором эта проблема возникает: Проблема заключалась в том, что папка libs использовалась в качестве источника в настройках проекта, поэтому она экспортировалась дважды. Разрешено щелчком правой кнопки мыши по папке libs → Путь сборки → Удалить из пути сборки
НЕ ВЫШЕИЗЛОЖЕННЫЙ МЕТОД, РАБОТАЕМ ДЛЯ МЕНЯ, НО МИН РАБОТАЕТ КАК ШАРМ!
Проблема возникает, когда пользователь создает зависимую библиотеку с eclipse. Итак, чтобы получить решение
Шаг 1: Удалите библиотеку (например, проект библиотеки поддержки v4 или v13) из Eclipse с постоянно удаленным источником рабочей области
Шаг 2: Повторно импортируйте библиотеку и включите ее в свой проект
Шаг 3: Очистить и перестроить
СДЕЛАНО!
Это был лучший результат, когда я искал эту ошибку в Google.
Хотя вопрос не задает вопрос о том, как решить эту проблему в отношении React Native, я думал, что поделюсь тем, кто попадает сюда и использует React Native.
В корневом прогоне проекта:
cd android && ./gradlew clean
[Mac - Bash Terminal]cd android & gradlew clean
[Windows - Командная строка]Затем react-native run-android
для сборки и запуска снова.
Я решил эту проблему в своем проекте, удалив библиотеку:
Причина: Я включил библиотечный проект в свой проект и по ошибке не удалил предыдущую библиотеку из моего проекта, поэтому, когда я запускал проект, то те же файлы библиотеки библиотеки генерировались дважды, когда я удалил одну и ту же библиотеку из папки lib моего проекта, ошибка исчезла и сборка была успешно создана, надеюсь, что другие могут столкнуться с той же проблемой.
Если вы используете 'com.google.android.gms: play-services' Вы можете добавить то, что вам действительно нужно, чтобы посмотреть следующий список:
Google+
com.google.android.gms:play-services-plus:10.0.1
Вход в аккаунт Google
com.google.android.gms:play-services-auth:10.0.1
Действия Google, базовая клиентская библиотека
com.google.android.gms:play-services-base:10.0.1
API адресов Google
com.google.android.gms:play-services-identity:10.0.1
Инфраструктура приложений Firebase
com.google.firebase:firebase-appindexing:10.0.1
Гугл Аналитика
com.google.android.gms:play-services-analytics:10.0.1
Google Awareness
com.google.android.gms:play-services-awareness:10.0.1
Google Cast
com.google.android.gms:play-services-cast:10.0.1
Облачные сообщения Google
com.google.android.gms:play-services-gcm:10.0.1
Гугл Диск
com.google.android.gms:play-services-drive:10.0.1
Google Fit
com.google.android.gms:play-services-fitness:10.0.1
Распознавание местоположения Google и активность
com.google.android.gms:play-services-location:10.0.1
Карты Гугл
com.google.android.gms:play-services-maps:10.0.1
Объявления Google для мобильных устройств
com.google.android.gms:play-services-ads:10.0.1
Google Адреса
com.google.android.gms:play-services-places:10.0.1
Мобильное видение
com.google.android.gms:play-services-vision:10.0.1
Google поблизости
com.google.android.gms:play-services-nearby:10.0.1
Google Panorama Viewer
com.google.android.gms:play-services-panorama:10.0.1
Службы Google Play Game
com.google.android.gms:play-services-games:10.0.1
Защитная сетка
com.google.android.gms:play-services-safetynet:10.0.1
Android Pay
com.google.android.gms:play-services-wallet:10.0.1
Android Wear
com.google.android.gms:play-services-wearable:10.0.1
Разделение службы Google Play может помочь вам: https://developers.google.com/android/guides/setup#split
поэтому вместо добавления только игровых сервисов:
compile 'com.google.android.gms:play-services:7.5.0'
вы добавляете только то, что вам нужно:
// Google Maps only
compile 'com.google.android.gms:play-services-maps:7.5.0'
перейдите к \bin\dexedLibs
и удалите все банки уже удаленных библиотек, затем очистить
Убедитесь, что папка bin не находится в пути сборки.
Проблема в том, что "Android Dependencies" сохраняют ссылку на старый SDK AdMob даже после:
Решение состоит в том, чтобы удалить AdMob SDK JAR с вашего компьютера, а не только из проекта.
Эта ошибка возникла у меня, когда я импортировал файл .jar(на самом деле это был httpmime-4.3.jar) и попытался его использовать. Для меня решение было простым: я удалил файл .jar из папки libs и удалил его из Order and Export. Удалил проект снова, он сработал, поэтому я снова добавил файл .jar, и он наконец-то был в порядке.
Не удалось выполнить преобразование в формат Dalvik: невозможно выполнить dex: несколько файлов dex определяют Lcom/google/zxing/BarcodeFormat;
Проводя этот ответ для тех, кто получает эту ошибку в отношении плагина сканера штрих-кода от zxing.
Просто удалите файл jar в папке libs. Должен быть проект/libs/com.google.zxing.client.android.captureactivity.jar
В моем случае я удаляю файл ".apk" в каталоге "src/com/...", очищаю проект и запускаю.
Я пробовал все предыдущие предложения и не работал у меня!
У меня была такая же проблема не удалось выполнить файлы multipledex в android --lorg\xhtml\CSS
я удалил файлы с двумя внешними банками в папке lib - core-renderer-3043e0f89ffb2.jar
core-renderer-minimal-e70d6a.jar, и мой проект снова построен отлично...
У меня была эта проблема и она была решена путем изменения пути. jar для каталога изменений, но. jar вытащил другую сторону, изменил путь, и я вошел без проблем
Я получил то же сообщение об ошибке с проектом GooglePlayService в проекте google-play-services.jar.
Мы используем maven, поэтому я должен добавить библиотеку в свой локальный репозиторий maven. (mvn install: install-file -Dfile = xxx)
Теперь библиотека дважды находится в "Java Build Path" → Libraries.
Чтобы устранить проблему, мне нужно удалить библиотеку из каталога google-play-services_lib/libs (банка используется автоматически)
Для меня я указал на файл jar в моем встроенном патче, который больше не был на этом пути!
У меня были две связанные, но не идентичные библиотеки guava в каталоге /libs, после того как я удалил один из них, проблема исчезла.