Android Build失败 - java.lang.IllegalArgumentException:已添加:Lcom / google / api / client / escape / CharEscapers;

时间:2011-12-08 21:17:26

标签: java android build adt dalvik

我只是为我的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 个答案:

答案 0 :(得分:88)

你有两次相同的jar库。检查您的应用程序和所有引用的Android库,并确保所有罐子都包含一次。

如果这没有帮助,请查看http://tools.android.com/knownissues。具体看一下 Build System 部分中描述的第一个问题。

你也可以阅读这篇文章:How to fix the “Conversion to Dalvik format failed with error 1"

答案 1 :(得分:6)

升级到R17后出现此错误。

我的原因不同(即不是R15中发生的* _src问题)。我的“libs”文件夹中有两个不同版本的库。看来Android插件现在自动将“libs”中的任何jar添加到Package Explorer中的“Android Dependencies”部分。删除旧jar修复了问题。

答案 2 :(得分:5)

我有同样的问题,这是解决方案:

转到顶部的“Build”和“Clean Project”以及“Rebuild the project”之后它帮助我!您还可以转到“文件”和“无效缓存”,然后重新启动Android Studio

对于corse,请确保清单没问题且没有重复包括!

答案 3 :(得分:3)

在SDK更新到r17后出现错误,你可以看看: http://tools.android.com/recent/dealingwithdependenciesinandroidprojects

答案 4 :(得分:3)

检查重复的jar文件。
检查project.properties中的lib条目。
清理所有包含的库并从头开始构建。

答案 5 :(得分:1)

当我添加android Ocr Api(tess-two)并导入使用此API的示例应用程序但是示例应用程序和tess-two api具有相同的包时,我遇到同样的问题,这就是为什么我面临这个问题,所以我删除了重复我的示例应用程序中的包,它工作正常。

答案 6 :(得分:0)

我遇到了同样的问题。在我的情况下,我在我的libs文件夹中有2个罐子,让我们说A和B.A是我创建的自定义jar,已经包含了B。在我更新到R17之前,这不是问题。
解决方案:我从库中删除了B.

答案 7 :(得分:0)

在google_play_services / samples中有一个地图项目。将jar从libproject安装到maven存储库,向maps项​​目添加依赖项并发现该错误。在依赖性部分中使用提供的范围可以解决问题。