好的,首先,我知道,很多用户在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项目清单合并
答案 0 :(得分:1)
尝试将库项目导入工作区。 转到您的项目rightclick-&gt; properties-&gt; Android 向下滚动。在库中添加库项目