不久前我在 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)
然后我从主应用程序转到(Properties-->Java Build Path-->Order and Export)并检查了这两个 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;
任何人都可以帮助我。我已经解决这个错误很长时间了。