Не могу запустить Admob JAR с другим JAR - PullRequest
0 голосов
/ 24 августа 2011

Я пытаюсь добавить внешний 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).

У меня вопрос, могу ли я что-нибудь сделать, чтобы решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 03 декабря 2011

У меня была точно такая же проблема с библиотекой OpenFeint, и я понял это.

Если вы также включили проект GameFeed в

Проект> Свойства> Android> Библиотека

раздел, возможно, вы включаете исходный код OpenFeint API дважды, один раз в библиотеку OpenFeint и один раз в проект GameFeed в качестве зависимой библиотеки.

Мне пришлось удалить исходную ссылку API OpenFeint из GameFeedпроект, а затем все работало.

Итог: каким-то образом у вас есть какой-то частичный источник, встроенный в ваш проект два раза.

0 голосов
/ 24 августа 2011

Не очень хорошим решением было бы проверить, что файлы двойного класса имеют одинаковую точную версию, и если это так, удалить их из одного из jar-файлов ... Это обходное решение, но не очень безопасное ...Делайте это, только если вы должны.

...