2012-09-22 21 views
0

我在这个问题上挣扎了一段时间,现在我认为是时候吸引到SO社区了。当在Eclipse中引用外部项目时Java运行时错误“NoClassDefFoundError”Android项目

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

由于JAR文件既存在于文件系统中,也存在于.classpath文件中,因此我认为导出JAR的方式可能存在问题。

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

我也碰到过这个问题在很多SO问题,但我找不到,将工作

回答

0

其实我已经收到了同样的问题的任何解决方案。有几件事你可以尝试。

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

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

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

你应该能够从jar中引用类。

如果仍然不起作用,您可能会遇到排序问题,所以右键单击jar文件,然后选择“构建路径” - >“添加到构建路径”,然后转到您的非项目属性-library项目并选择Java Build Path - > Order and Export并将jar文件移动到列表顶部。

希望这有助于!

干杯

+0

我应该在哪里找到Android Tab?如果它在项目属性中,我无法为外部项目找到它;可能是因为外部项目不是Android的?只是一个标准的Java。 –

+0

如果外部项目不是Android项目,则不需要担心此步骤。我相信你应该能够将项目导出为jar文件。确保在制作不包含系统文件的jar文件时。有时他们可能会与主项目中的系统文件发生冲突并导致问题。 – Dave

相关问题