java - 无法执行dex : Multiple dex files define Lorg/OpenUDID/OpenUDID_manager$ValueComparator;

标签 java android eclipse

不久前我在 Eclipse 中进行 Android 开发,最近遇到了一个问题。我创建了一个库,其中使用了两个额外的 jar 库:appbooster.jaradcolony.jar。将创建的库添加到主应用程序后,启动时显示:

E/AndroidRuntime(22887):
java.lang.NoClassDefFoundError:com.appsfire.appbooster.jar.af_NotificationsManager
E/AndroidRuntime(22887):at com.testlib.MainActivity.onCreate(MainActivity.java:14)
...

我也将 appbooster.jar 和 adcolony.jar 添加到主应用程序中(属性-->Java 构建路径-->库-->添加外部 JAR)。相同的结果:

E/AndroidRuntime(26403): FATAL EXCEPTION: main
E/AndroidRuntime(26403): java.lang.NoClassDefFoundError:com.appsfire.appbooster.jar.af_NotificationsManager
E/AndroidRuntime(26403):at com.testlib.LibClass.initiateAppBooster(LibClass.java:9)

然后我从主应用程序转到(属性-->Java 构建路径-->订单和导出)并检查了这 2 个 jar 文件(appbooster 和 adcolony)。现在它说:

[2013-09-16 16:54:24 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/OpenUDID/OpenUDID_manager$ValueComparator;
[2013-09-16 16:54:24 - TestApp] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/OpenUDID/OpenUDID_manager$ValueComparator;

任何人都可以帮助我吗?我已经解决这个错误很长时间了。

最佳答案

appbooster.jar 和 adcolony.jar 都 bundle 了 OpenUDID 库。从其中一个库中删除这些文件,例如:

zip adcolony.jar -d org/OpenUDID/*

关于java - 无法执行dex : Multiple dex files define Lorg/OpenUDID/OpenUDID_manager$ValueComparator;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829901/

相关文章:

java - Jetty 服务器总是使用处理程序返回 404

android - 菜单未出现在主要 Activity 中

java - Google Play 服务与 LibGDX 的集成

css - 如何编写一个简单的 eclipse 插件,它可以根据 @import 文件进行代码提示

java - 如何在 Eclipse 中捕获控制台输出

数组程序上的 Java 错误 "Exception in thread "main“java.util.InputMismatchException”

java - 如何使用docker-java库检查图像状态

android - 在我的 DbHelper 类的 oCreate 中插入记录时递归调用 getDatabase

eclipse : Link with editor keyboard shortcut?

java - 使用 @JsonInclude(NON_DEFAULT) 时 GET 上出现 DropWizard 400 错误