【发布时间】: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