Android库项目" java.lang.NoClassDefFoundError"

时间:2014-02-26 08:32:09

标签: java android eclipse library-project

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

问题:

我的IDE: Eclipse Standard / SDK

版本:开普勒发布 构建ID:20130614-0229

我有一个名为mb-fw-android的android库项目。在此项目属性中 - > android - >是图书馆 - 检查;

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

1)转到mb-revise-android - >属性 - > Android - >添加android库 - >开始项目

结果是:

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 - &gt;属性 - &gt; buildPath - &gt;项目 - &gt;添加,然后订购和导出 - &gt;检查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”文件夹,并将“订购并导出”Android私有库标记为已选中。

同样的结果。

总结:我试图将android库项目添加为.jar,作为经典依赖项目和属性 - &gt; android - &gt;添加安卓库,标记顺序并在可能的情况下导出为已检查,但仍无法正常工作。

如果您知道解决方案,请帮助我。 我使用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属性启用此功能。

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

1 个答案:

答案 0 :(得分:1)

尝试将库项目导入工作区。 转到您的项目rightclick-&gt; properties-&gt; Android 向下滚动。在库中添加库项目