2011-08-24 33 views
0

我想外部JAR添加到我的项目运行AdMob联播JAR,我收到此错误:不能与其他JAR

-

UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: Lorg/codehaus/jackson/Base64Variant; 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:372) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:346) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:59) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:294) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main.processOne(Main.java:313) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:233) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.dx.command.dexer.Main.run(Main.java:185) 
[2011-08-24 16:35:19 - MyProjApp] Dx at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) 
[2011-08-24 16:35:19 - MyProjApp] Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
[2011-08-24 16:35:19 - MyProjApp] Dx at java.lang.reflect.Method.invoke(Unknown Source) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:652) 
[2011-08-24 16:35:19 - MyProjApp] Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:510) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) 
[2011-08-24 16:35:19 - MyProjApp] Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
[2011-08-24 16:35:19 - MyProjApp] Dx 1 error; aborting 
[2011-08-24 16:35:19 - MyProjApp] **Conversion to Dalvik format failed with error 1** 

-

我知道与我添加的jar和一个库项目(Open-Feint库)有冲突。

我的问题是如果有什么我可以做,以解决这个问题?

回答

0

一个不是很好的解决方案是检查双类文件是否是完全相同的版本,如果是,从一个罐中删除它们... 这是一个解决方法,但不是一个非常安全的解决方案。 ..只有你必须做到这一点。

+0

虽然这是因为两个罐子,但我已经删除了Admob,它仍然发生。它的另一家公司的JAR与OpenFeint库类一起工作.. – Ofershap

+0

我有一种感觉,你有一个在你的src文件夹中的jar文件的副本......确保你没有在那里的冗余副本... – IncrediApp

+0

没有我再次检查它。我也尝试加载它作为外部JAR。 – Ofershap

3

我对OpenFeint库有这个完全相同的问题,我想通了。

如果您还包括在

项目的GameFeed项目>属性>安卓>图书馆

部分,你可能会包括OpenFeint的API源两次,一次是在OpenFeint的图书馆,一次在GameFeed项目作为依赖库。

我不得不从GameFeed项目中删除OpenFeint API源代码链接,然后一切正常。

底线是某种程度上你有一些片源被内置到你的项目中两次。