Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法执行dex:多个dex文件定义Lorg/OpenUDID/OpenUDID\u管理器$ValueComparator;_Java_Android_Eclipse - Fatal编程技术网

Java 无法执行dex:多个dex文件定义Lorg/OpenUDID/OpenUDID\u管理器$ValueComparator;

Java 无法执行dex:多个dex文件定义Lorg/OpenUDID/OpenUDID\u管理器$ValueComparator;,java,android,eclipse,Java,Android,Eclipse,不久前,我在Eclipse中为Android开发,最近我遇到了一个问题。我创建了一个库,其中使用了两个额外的jar库:appbooster.jar和adcolony.jar。在我将创建的库添加到主应用程序后,启动时会显示: E/AndroidRuntime(22887): java.lang.NoClassDefFoundError:com.appsfire.appbooster.jar.af_NotificationsManager E/AndroidRuntime(22887):at com

不久前,我在Eclipse中为Android开发,最近我遇到了一个问题。我创建了一个库,其中使用了两个额外的jar库:
appbooster.jar
adcolony.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构建路径-->顺序和导出),并检查了这两个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;

谁能帮帮我吗。我已经处理这个错误很长时间了。

你把JAR库放在哪里了?它们应该位于Android应用程序中的
libs
文件夹下。这似乎是最有可能的,因为您的Android Java代码无法读取那些JAR包中的类。因此,我肯定会检查它们是否实际位于Android项目中的
libs
目录中


请查看以下内容。

在您的libs文件夹下,检查是否有多个相同的.jar文件,即
gson-1.0
gson-1.0(1)
。如果有,请删除后者

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

zip adcolony.jar -d org/OpenUDID/*

没有同名的jar文件。类似的事情曾经发生在我身上,这就是问题所在,对不起!谢谢你的文章,我照上面说的做了,但是没有用。结果是一样的。这两个jar文件是否相互不兼容?如果我只使用其中一个罐子,这个项目就可以正常运行。(当然在这种情况下,我不能使用另一个的类)。无法执行dex:多个dex文件定义Lorg/OpenUDID/OpenUDID_manager$ValueComparator;转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lorg/OpenUDID/OpenUDID\u manager$ValueComparator;非常感谢,成功了,你救了我。正如您所说,我从adcolony.jar中删除了OpenUDID,它成功了。现在两个库都设置在一个项目中。