0

我正在为 Eclipse 使用 ADT 版本 21 插件,并且正在为 Android 4.2 平台编程。我最初编写了一个 Java 客户端-服务器应用程序,我想将我在其中编写的一些类用于我现在正在编写的 Android 应用程序。我尝试将 Java 类文件导出到 JAR 文件并将 JAR 文件放在libs我的 Android 应用程序的目录中,但是当我尝试在我的 Nexus 4 上运行该应用程序时,NoClassDefFoundError抛出了 a。我搜索了一些答案并尝试了一些建议,例如在“属性”窗口的“订单和导出”选项卡中包含 JAR 文件(并将其放在列表的顶部),但我被卡住了。Eclipse 可以很好地编译我的 Android 应用程序,但我无法在我的设备上运行我的应用程序。

我知道以前有人问过这个问题,并且有几个用户遇到过同样的问题。我欢迎所有建议。(我刚开始学习 Android 应用程序开发。)谢谢!

编辑:我刚刚注意到控制台输出中的这些行。有任何想法吗?

[2012-11-24 01:26:26 - HomePage] Dx bad class file magic (cafebabe) or version (0033.0000)
...while parsing org/nihongo/common/db/Commands.class
...while processing org/nihongo/common/db/Commands.class

编辑:我认为这可能是因为我使用的是 Java 7 而不是 Java 6。请参见此处

4

2 回答 2

6

当 Java 虚拟机无法在运行时找到在编译期间可用的特定类时,Java 中的 NoClassDefFoundError 就会出现。

当您制作使用 Google API(例如地图)但在以 Android API 为目标的设备上运行的应用程序时,也会生成此错误。

于 2012-11-24T12:07:23.113 回答
1

我在客户端-服务器应用程序中将编译器从 Java 7 切换到 Java 6。我将我想要的类导出到一个 JAR 文件中,并将它包含在我的 Android 应用程序中,现在看起来它可以工作了!

所以我猜即使在 Android 4.2 上也只支持 Java 6。

于 2012-11-24T11:56:31.013 回答