NoClassDefFoundError - Eclipse 和 Android

2022-08-31 06:26:36

我在尝试运行Android应用程序时遇到问题,直到将第二个外部库添加到其构建路径之前,该应用程序工作正常。自从添加了 scoreninja jar 之后,当我尝试运行该应用程序时,我现在会得到一个 NoClassDefFoundError

消息如下:

02-11 21:45:26.154: ERROR/AndroidRuntime(3654): java.lang.NoClassDefFoundError: com.scoreninja.adapter.ScoreNinjaAdapter

由于所有构建脚本都是由Android工具(?)生成的,我不确定除了清理和重建或重新启动eclipse之外,我还能做些什么(我已经尝试了所有三个)。有谁知道我该如何修改它?


答案 1

我在更新ADT后遇到了这个问题。

我把所有的JAR文件都存储在一个名为“lib”的文件夹中,并以正常的Eclipse方式将jar添加到构建路径中。这工作正常,直到我的更新。

在我更新之后,我得到了NoClassDefFoundError,用于一个我可以清楚地看到包含在jar中的类(查看ReferencedLibraries类)。

解决方案是从构建路径中删除我的jar,并将我的“lib”文件夹重命名为“libs”。这是一个 ant 约定,似乎是新 ADT 查找库并将其包含在.apk文件中的方式。一旦我这样做了,一切都很好。


答案 2

我不必将jar库放在资产或lib中,而只需在属性->Java构建路径->“排序和导出”中勾选此jar的框(它之前列出,但未选中)


推荐