我有一个编译项目,但是在兄弟库项目中包含的类名引发一个NoClassDefFoundError,但只有从Eclipse构建时才会引发。当我从ant文件构建项目时,它运行得很好。Android:如何从Eclipse ADT应用程序项目引用库项目?
如何告知Eclipse构建系统,我的应用程序的.apk需要库项目中.class文件的副本。
此页... http://developer.android.com/guide/developing/eclipse-adt.html#libraryReference 使听起来像添加图书馆应该“只是工作”,没有其他的步骤。而且我发现它已经更新了我的default.properties文件,并且有必要的链接让我的ant构建工作。
尽管遵循以下这些步骤(我的库项目在我的应用程序的项目属性的Android页面中列出),但Eclipse无法识别编辑器中的新类。所以我做了将库添加到Java Build Path的标准Eclipse步骤。现在,编译器和IDE可以识别该类,但即使在Java Build Path,Order和Export中检查了库之后,我的应用仍然会与NoClassDefFoundError一起崩溃。
我错过了什么步骤?
一些背景... 我首先构建了Eclipse项目。然后,在一个单独的目录中,我使用了android create project ...
以及所有参数来创建一个完全相同的项目。最后,我将ant build.xml和* .properties文件复制到Eclipse项目目录中。我对我试图引用的库项目做了同样的事情。
删除评论 – Anm 2010-09-24 00:31:06
我有时可以通过清理/重新编译来解决构建错误。由于两个“IllegalArgumentException:已经添加...”错误,通常会导致“转换为Dalvik格式失败,并显示错误1”,一个用于仅在src中的类,另一个用于库路径中的类。 (这是使用Android库引用和Eclipse库引用,因此后者可能是预期的。) – Anm 2010-09-24 00:38:27
您的库项目是否包含链接的文件夹? ADT的库项目似乎只包含src文件夹,忽略任何链接的文件夹。 – 2011-05-12 13:26:34