Ошибка сборки Android — java.lang.IllegalArgumentException: уже добавлено: Lcom/google/api/client/escape/CharEscapers;

Я просто готовлю небольшое обновление для своего приложения для Android, но получаю эту странную ошибку, когда пытаюсь создать свое приложение (в режиме отладки). Было бы здорово, если бы кто-то более умный мог посмотреть на это, чтобы понять, что может быть не так. Я очищал/перестраивал/исправлял свойства проекта, но безрезультатно. Я понятия не имею, что происходит :(. Может быть, у кого-нибудь здесь происходит что-то подобное? Если это может помочь, я использую следующие библиотеки: adMob (4.1.1), openfeint и libgdx.

вот журнал постройки:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/google/api/client/escape/CharEscapers;
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.run(Main.java:206)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at java.lang.reflect.Method.invoke(Method.java:616)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:745)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:647)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.resources.Project$1.run(Project.java:545)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.resources.Project.build(Project.java:123)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:924)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1128)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[2011-12-08 21:56:42 - JellyBallsFree] Dx 1 error; aborting
[2011-12-08 21:56:42 - JellyBallsFree] Conversion to Dalvik format failed with error 1

person Kubeczek    schedule 08.12.2011    source источник
comment
Ребята, не могли бы вы использовать английский язык в StackOverflow?   -  person Anton Chikin    schedule 20.11.2012
comment
Используете ли вы сборку Gradle для своего проекта? У меня была аналогичная проблема с дубликатами файлов jar (удаленных и локальных)...   -  person IgorGanapolsky    schedule 21.10.2013
comment
Я видел эту ошибку, когда файл .class каким-то образом попал в один из моих каталогов src (я использую Ant и Eclipse, так что это был один из них или я). В отчаянии я сделал git clean -dfx (не копируйте и не вставляйте, если вы не знаете последствий) и увидел, что ошибочный файл класса был удален из шланга.   -  person Stephen Niedzielski    schedule 10.11.2014


Ответы (8)


У вас дважды включена одна и та же библиотека jar. Проверьте свое приложение и все упомянутые библиотеки Android и убедитесь, что все jar-файлы включены ровно один раз.

Если это не поможет, загляните на http://tools.android.com/knownissues. Обратите особое внимание на первую проблему, описанную в разделе Build System.

Также вы можете прочитать этот пост: Как исправить ошибку «Преобразование в формат Dalvik завершилось ошибкой 1»

person inazaruk    schedule 08.12.2011
comment
Спасибо за эту подсказку. Я все перепроверил и дважды добавил открытый финт. Первый как исходные файлы, а второй как библиотека jar. Не знаю, почему в последние пару месяцев он собирался просто отлично, но возможно, что я обновил adt между последней сборкой и сейчас (не совсем уверен). В любом случае еще раз спасибо (и за дополнительные ссылки) :) - person Kubeczek; 09.12.2011

Я получил эту ошибку после обновления до R17.

Моя причина была другой (т.е. не проблема *_src, которая возникла в R15). У меня было две разные версии библиотеки в моей папке «libs». Похоже, что плагин Android теперь автоматически добавляет любые jar-файлы в «libs» в раздел «Android Dependencies» в проводнике пакетов. Удаление старой банки решило проблему.

person Paul LeBeau    schedule 26.03.2012

У меня такая же проблема и вот решение:

Заходим в "Построить" вверху и "Очистить проект" и после "Пересобрать проект" Мне помогает! Также вы можете перейти в «Файлы» и «Недействительные кеши» и перезапустить Android Studio.

Конечно, убедитесь, что манифест в порядке и нет дубликатов!

person Albert Manukyan    schedule 01.07.2014

для ошибок, появившихся после обновления SDK до r17, вы можете проверить это: http://tools.android.com/recent/dealingwithdependenciesinandroidprojects

person Mehmed Mert    schedule 30.03.2012
comment
СПАСИБО! Как я могу сообщить вам 10 раз? Это действительно раздражает, что eclipse сообщает об ошибках, не говоря, что на самом деле происходит! - person Karussell; 02.07.2012

Проверьте дублированные файлы jar.
Проверьте записи библиотеки в project.properties.
Очистить все включенные библиотеки и собрать с нуля.

person superarts.org    schedule 24.07.2012

У меня была такая же проблема, когда я добавил Android Ocr Api (tess-two) и импортировал пример приложения, которое использовало этот API, но у примера приложения и API tess-two были одинаковые пакеты, поэтому я столкнулся с этой проблемой, поэтому я удалил дубликаты пакетов из моего образец приложения, и он работал нормально.

person Faraz Ahmed    schedule 01.02.2013

У меня такая же проблема. В моем случае у меня было 2 jar в папке libs, скажем, A и B. A был пользовательским jar, который я создал, и B уже был включен. Это не было проблемой, пока я не обновился до R17.
Решение: я удалил B из libs.

person Elyess Abouda    schedule 26.04.2012

Создайте проект карт в google_play_services/samples. Установите jar из libproject в репозиторий maven, добавьте зависимость к проекту карт и найдите эту ошибку. Использование предоставленной области в разделе зависимостей решает проблему.

person zhen_khokh    schedule 06.06.2016