【发布时间】:2012-07-07 00:18:09
【问题描述】:
所以,我正在尝试为 Android 开发一个客户端-服务器应用程序。为此,我创建了一个引擎,我将在服务器和 Android 应用程序中使用它并将其导出为 .jar 文件。
在服务器端(简单的后台 java 应用程序)使用这个 engine.jar 没有问题,但是我在将提及的 .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
我想我什么都试过了。任何人都可以分享他对所描述情况的根本原因的想法吗?
【问题讨论】:
-
你是否将jar文件添加到Eclipse中的构建路径中?它应该出现在“引用的库”组中。
-
@smichak 在 SDK Tools v18+ 中,“libs”文件夹中的库通过“Android Dependencies”自动添加到构建路径
-
正如之前评论中所说,“引用库”自 Android SDK 17 修订版以来已重命名为“Android 依赖项”
-
Common.Message.Message应该是您的课程之一吗?如果是这样,您是不是缺少包名? -
我猜没有。我已经按如下方式导入了我的类
import Common.Message.Message;并创建了导入类Message m = new Message("id");的实例