Ошибка сборки Android - java.lang.IllegalArgumentException: уже добавлено: Lcom / google / api / client / escape / CharEscapers; - PullRequest
57 голосов
/ 09 декабря 2011

Я просто готовлю небольшое обновление для своего приложения для 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

Ответы [ 8 ]

88 голосов
/ 09 декабря 2011

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

Если это не поможет, взгляните на http://tools.android.com/knownissues. В частности, посмотрите на первую проблему, описанную в Сборка системы раздел.

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

6 голосов
/ 26 марта 2012

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

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

5 голосов
/ 01 июля 2014

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

Перейдите в «Build» вверху и «Clean Project» и после «Rebuild the project» мне это поможет! Также вы можете перейти в «Файлы» и «Неправильные кэши» и перезапустить Android Studio

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

3 голосов
/ 24 июля 2012

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

3 голосов
/ 30 марта 2012

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

1 голос
/ 01 февраля 2013

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

0 голосов
/ 06 июня 2016

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

0 голосов
/ 26 апреля 2012

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

...