如何在Eclipse中的Android项目中使用Java项目?

时间:2012-11-06 17:52:55

标签: java android eclipse

我正在编写一个Android应用程序,其中有一些Java代码有些复杂,因此难以验证Android环境中的正确性。我想在桌面环境中运行此代码,我可以使用更多工具来检查此代码的输出,同时仍在我的Android应用程序中使用它。

我尝试的解决方案是在Eclipse中有三个不同的项目。我的Android项目和两个普通(非Android)Java项目。一个Java项目具有我想在Android中使用的复杂代码,另一个是测试程序,用于验证前一个项目的正确性。后一个项目已经用于调试前者。

然而,到目前为止,我在Android项目中使用Java项目的尝试似乎在IDE中工作,但是当我实际运行Android应用程序时,每当我尝试访问任何类时,都会抛出NoClassDefFoundError异常。显然,该代码没有被重新编译到.dex文件中,但为什么不呢?

我可以详细了解到目前为止我所做的事情,但我不禁想到我正在做的事情是一个非常标准和简单的事情,并且有一种简单的方法可以做到这一点,即使我能做到找不到任何人做我正在尝试的事情。有人能告诉我这是怎么做到的吗?

2 个答案:

答案 0 :(得分:1)

幸运的是,我找到了自己问题的答案,我想我会在这里分享它以帮助其他人处于同样的情况。事实证明这很简单......

我已经做的事情通常会正常工作,这对我来说应该是一个很大的线索,因为我之前已经成功地完成了这项工作。您只需在Android项目的属性>下进行操作即可。 Java构建路径>项目,将普通Java项目添加到“构建路径上的必需项目”,然后在属性>下。 Java构建路径>订单和导出,在“构建类路径顺序和导出的条目”列表中选中该项目的复选框,所有内容都可以正常工作。

在Eclipse中,您无需做任何其他工作即可使用此设置。只有当你从命令行编译时才需要构建Java Jars并将它们作为库导入,但我还没有这样做(还)。

最后,这对我不起作用,因为我刚刚在JDK 1.7合规性下编译我的普通Java项目,而我的Android项目是在JDK 1.6下编译的。这由“控制台”窗格上的输出验证,报告“ Dx坏类文件魔术(cafebabe)或版本”。当两个项目在相同的合规级别下编译时,此错误消息消失,并且巧合的是,Android程序正常运行。

感谢所有试图提供帮助的人,我希望这个答案对那里的人有帮助!

答案 1 :(得分:0)

如果你将其他普通的java项目变成Android项目并使用它来监视设备上的输出,它会不会工作?