【问题标题】:Android library project "java.lang.NoClassDefFoundError"Android 库项目“java.lang.NoClassDefFoundError”
【发布时间】:2014-02-26 08:32:09
【问题描述】:

好的,首先,我知道,很多用户在 stackoverflow 中多次问过这个问题。我查看了所有可能的解决方案,但仍然有问题。

问题:

我的 IDE: Eclipse 标准/SDK

版本:开普勒版本 内部版本号:20130614-0229

我有一个名为 mb-fw-android 的 android 库项目。在这个项目属性 -> android -> Is Library - 检查;

我有另一个名为 mb-revise-android 的项目,它需要使用 mb-fw-android。我试过了:

1) 进入mb-revise-android -> properties -> Android -> add android library -> start projec

结果是:

02-26 12:04:19.960: E/dalvikvm(11678): Could not find class 'ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider', referenced from method ru.tsi.maksbm.android.revise.model.Model.<init>
02-26 12:04:19.976: E/AndroidRuntime(11678): FATAL EXCEPTION: main
02-26 12:04:19.976: E/AndroidRuntime(11678): java.lang.NoClassDefFoundError: ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider
02-26 12:04:19.976: E/AndroidRuntime(11678):    at ru.tsi.maksbm.android.revise.model.Model.<init>(Model.java:117)
02-26 12:04:19.976: E/AndroidRuntime(11678):    at ru.tsi.maksbm.android.revise.model.Model.createInstance(Model.java:64)
02-26 12:04:19.976: E/AndroidRuntime(11678):    at ru.tsi.maksbm.android.revise.ReviseStartActivity.onCreate(ReviseStartActivity.java:70)
...

2) 将 android 库项目添加为经典依赖项目。 mb-revise-android -> 属性 -> buildPath -> 项目 -> 添加,然后排序和导出 -> 检查 mb-fw-android 项目

还是一样的错误

3) 取消选中 mb-fw-android IsLibrary 复选框,然后尝试 (2)。结果一样

4) 取消选中 mb-fw-android IsLibrary 复选框,像 .apk 一样执行它,进入 /bin 文件夹并找到 mb-fw-android.jar。将此 .jar 粘贴到 mb-revise-android "libs" 文件夹,并将 "order and export" Android Private Libraries 标记为选中。

同样的结果。

总结:我尝试将 android 库项目添加为 .jar、经典依赖项项目和属性 -> android -> 添加 android 库,尽可能将订单和导出标记为选中,但仍然无法正常工作。

如果您知道解决方案,请帮助我。 我使用 Android SDK Platform-tools 19.0.1 和 Android SDK Build-tools 19.0.2

谢谢。

哇,我刚刚找到了解决方案。

我们可以在那里看到http://developer.android.com/tools/sdk/eclipse-adt.html#notes 关于 ADT 20.0.0 及更高版本的一件有趣的事情:

构建系统

添加了库项目清单文件的自动合并到包含项目的清单中。使用 manifestmerger.enabled 属性启用此功能。

我尝试将“manifestmerger.enabled=true”添加到我的 project.properties 文件中,一切都已完成。问题是构建器不会将我的库项目清单与 apk 项目清单合并

【问题讨论】:

  • 您是否尝试将其添加为外部库?
  • 您是否谈到添加标准外部 .jar 库?我试过了,结果还是一样。

标签: java android eclipse library-project


【解决方案1】:

尝试将库项目导入工作空间。 转到您的项目右键单击-> 属性-> Android 向下滚动。在库中添加您的库项目

【讨论】:

  • 从帖子 1) 转到 mb-revise-android -> 属性 -> Android -> 添加 android 库 -> 启动项目不工作
  • 添加后你清理了你的项目并重建它对吗?
  • 不应有同一个库文件的多个副本。如果您以上述方式导入库,则从 1) 构建路径 2) lib 文件夹中删除 jar 文件(如果它存在于那里)。因为如果存在多个副本,您将收到这种错误
  • 我知道,如果我尝试多定义一个类,dalvik 可能会抛出“多类定义错误”。但是当我添加 jar - 我删除 android 库依赖项时,当我尝试添加 android 库项目依赖项时,我删除 .jar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
相关资源
最近更新 更多