繁体   English   中英

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

[英]How do you use a Java project in your Android project in Eclipse?

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

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

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

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

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

我已经做的事情通常会起作用,这对我来说应该是一个很大的线索,因为我之前已经成功地完成了这项工作。 您只需在Android项目的Properties> Java Build Path> Projects下 ,将普通Java项目添加到“ 构建路径上的必需项目 ”,然后在Properties> Java Build Path> Order and Export下 ,选中复选框在“ 构建类路径顺序和导出的条目 ”列表中的同一个项目,一切都应该工作。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM