0

我在这个问题上苦苦挣扎了一段时间,我认为是时候呼吁 SO 社区了。

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

因为 JAR 文件同时存在于文件系统和 .classpath 文件中,所以我相信我导出 JAR 的方式可能存在问题。

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

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

4

1 回答 1

0

我之前确实遇到过同样的问题。您可以尝试几件事。

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

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

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

现在您应该可以从 jar 中引用该类了。

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

希望这会有所帮助!

干杯

于 2012-09-22T00:24:32.183 回答