NoClassDefFoundError:将我自己的jar链接到Android项目的问题

时间:2012-04-15 20:02:03

标签: java android jar

所以,我正在尝试为Android开发客户端 - 服务器应用程序。出于这个目的,我创建了一个引擎,我将在服务器和Android applecation中使用它并将其导出为.jar文件。

在服务器端使用这个engine.jar没有问题(简单的后台java应用程序),但是我在将提交.jar文件链接到我的android项目时遇到了一些问题。

要链接engin.jar,我按照以下步骤操作:

  • 在我的android项目中创建了“libs”目录
  • 在此文件夹中导入engine.jar

在Android Dependences组中可以看到此engine.jar之后。此外,我可以使用.jar中的所有类,Eclipse不会将它们标记为错误。 我的项目编译得很好,但当我尝试从engine.jar创建任何对象时,应用程序崩溃,并出现以下错误:

  

04-15 23:18:12.885:E / AndroidRuntime(17409):   java.lang.NoClassDefFoundError:Common.Message.Message

我想我已经尝试了一切。任何人都可以分享他对所描述情况的根本原因的看法吗?

3 个答案:

答案 0 :(得分:4)

我也经历过同样的问题。我通过执行以下操作解决了这个问题:

右键单击项目目录 - > Build Path - > Configure Build Path - >选择标签Order and Export - >选中/选中相关.jar文件的复选框 - >按Ok

希望这也能解决你的问题。

答案 1 :(得分:0)

供将来使用:

在项目的根目录中创建一个名为“libs”的文件夹,然后添加您要添加​​的jar,并自动完成上一条评论中提到的所有导出内容。

答案 2 :(得分:0)

看起来你的服务器和客户端没有相同的普通jar类。在编写客户端服务器应用程序时,您需要确保存在一些公共代码项目,大部分将来这将成为一个lib文件。