好的,首先,我知道很多用户在 stackoverflow 中多次问过这个问题。我查看了所有可能的解决方案,但仍然存在问题。
问题:
我的IDE: Eclipse 标准/SDK
版本:Kepler 版本 版本号:20130614-0229
我有一个 android 库项目,名为 mb-fw-android。在此项目中,属性 -> android -> Is Library - 已选中;
我有另一个名为 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 -> 属性 -> 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 及更高版本的一件有趣的事情:
构建系统
添加了将库项目 list 文件自动合并到包含项目的 list 中。使用manifestmerger.enabled 属性启用此功能。
我尝试将“manifestmerger.enabled=true”添加到我的project.properties 文件中,一切都已完成。问题是构建器不会将我的库项目 list 与 apk 项目 list 合并
最佳答案
尝试将库项目导入到工作空间。 转到您的项目右键->属性->Android 向下滚动。在库中添加您的库项目
关于java - Android库项目 "java.lang.NoClassDefFoundError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22035746/