1

我已经在互联网上搜索了两天了,我觉得我已经尝试了一切。请让我知道是否有任何代码片段可能有助于找到解决方案。

我创建了一个具有标准登录活动的 android 应用程序。在 doInBackground() 方法中,我从另一个外部类调用静态方法。由于单击提交按钮后将调用此方法,因此在运行时会发生错误。该类包含在我的文件中,并且没有编译错误。每当我点击/单击提交按钮时,我都会得到一个 java.lang.NoClassDefFoundError ,它指的是一个类(在我的外部 jar 中),该类被使用并正确包含在我在 doInBackground() 方法中引用的外部文件中。

我所有的外部库都在“libs”文件夹中。我尝试手动将它们添加到构建路径中,并在“订单和导出”选项卡中选中它们旁边的框,而不是选中“Android Private Libraries”条目旁边的复选框。我尝试将 'gen' 目录放在 'src' 目录之上,这也没有改变任何东西。重新启动eclipse,重新导入整个项目,在构建路径中调整外部库的顺序,修复项目属性并一遍又一遍地清理项目,没有任何帮助。我已经检查过了

http://javarevisited.blogspot.de/2011/06/noclassdeffounderror-exception-in.html

并尝试了所有解决方案,但没有一个对我有用。我之前在一个库中遇到过类似的问题,我可以通过更改一些构建路径设置并重新启动 Eclipse 来解决它。但是,这对我来说不再适用了。我希望有人有其他解决方案或想法,我不知道出了什么问题......

谢谢大家!

也好

编辑:

尽管创建了一个全新的项目并将我以前的文件添加到这个新项目中,但我在新项目中仍然遇到了同样的问题。我想我知道这个错误来自哪里:当我添加我的外部库时,我仍然有从刚刚添加的 .jar 到其他 jar 的依赖项。在也添加了这些之后,编译器说我需要 java.rmi.Remote 类,它位于 Java 的 JRE 系统库 (rt.jar) 中。将整个 jre 库添加到我的项目中会使编译器错误消失,但是运行时错误仍然存​​在。经过更多研究后,我发现我的外部库可能与 android 运行时环境不兼容,这意味着 jar 的 .class 文件没有 android 驱动设备上的 Dalvik 虚拟机所需的等效 .dex-representation . 对于许多java jar,

如果我错了,请纠正我,但这个解释对我来说似乎很合理。太糟糕了,因为这是当前以编程方式访问我们的数据库的唯一方法。

4

1 回答 1

1

确保您已更新到最新版本的 ADT Eclipse 插件和 SDK 工具,并确保在您的项目属性中选中“Android 依赖项”。

在此处输入图像描述

于 2013-05-31T13:09:27.227 回答