在Eclipse Android Project中引用外部项目时的Java运行时错误“NoClassDefFoundError”

时间:2012-09-22 00:13:12

标签: java android jar

我现在正在努力解决这个问题,我认为现在是时候向SO社区发出呼吁了。

在Eclipse中创建一个新的Android项目时,我试图引用一个外部项目[暂时,它是一个带有返回字符串的函数的简单类]。我已经尝试添加对项目本身的引用,我已经尝试导出.JAR文件[将其添加到libs文件夹]但这些解决方案都不起作用,但是在编译时看到类,在运行时我得到了可怕的NoClassDefFoundError的。

因为文件系统和.classpath文件中都存在JAR文件,所以我认为导出JAR的方式可能存在问题。

我不确定为什么它不起作用或者将这些[非Android]模块添加到项目的正确工作流程是什么。任何帮助将不胜感激!

我在很多SO问题中遇到过这个问题,但我找不到任何可行的解决方案

1 个答案:

答案 0 :(得分:0)

我之前遇到过同样的问题。你可以试试几件事。

确保在外部项目的项目属性中,您在Android选项卡中选中了“Is Library”。

然后将项目导出为jar文件。 (确保你没有包含和实际java类文件以外的文件。没有AndroidManifest.xml等...)

将jar文件包含在“libs”文件夹中的其他项目中,就像之前一样。

你现在应该可以从jar中引用这个类了。

如果仍然无效,您可能会遇到排序问题,因此右键单击jar文件,然后选择“Build Path” - > “添加到构建路径”,然后转到非库项目的项目属性并选择Java Build Path - >订购和导出并将jar文件移动到列表顶部。

希望这有帮助!

干杯