【问题标题】:Android: How to reference a library project from an Eclipse ADT application project?Android:如何从 Eclipse ADT 应用程序项目中引用库项目?
【发布时间】:2010-09-23 01:56:16
【问题描述】:

我有一个项目正在编译,但在同级库项目中包含的类名上抛出 NoClassDefFoundError,但仅在从 Eclipse 构建时。当我从 ant 文件构建项目时,它运行得很好。

我如何告诉 Eclipse 构建系统我的应用程序的 .apk 需要来自库项目的 .class 文件的副本。

这个页面... http://developer.android.com/guide/developing/eclipse-adt.html#libraryReference make 听起来就像添加库应该“正常工作”而没有其他步骤。而且我看到它已经用必要的链接更新了我的 default.properties,使我的 ant 构建工作。

尽管遵循了这些步骤(我的库项目列在我的应用程序项目属性的 Android 页面中),Eclipse 仍无法识别编辑器中的新类。因此,我执行了将库添加到 Java 构建路径的标准 Eclipse 步骤。现在编译器和 IDE 可以识别该类,但我的应用程序仍然会因 NoClassDefFoundError 而崩溃,即使在检查了 Java Build Path、Order 和 Export 中的库之后也是如此。

我错过了什么步骤?

一些背景... 我首先构建了 Eclipse 项目。然后,在一个单独的目录中,我使用 android create project ... 和所有参数来创建一个配置相同的项目。最后,我将 ant build.xml 和 *.properties 文件复制到了 Eclipse 项目目录中。我对我试图引用的库项目做了同样的事情。

【问题讨论】:

  • 我有时可以通过清理/重新编译来解决构建错误。由于两个“IllegalArgumentException:已添加...”错误,一个仅用于 src 中的类,另一个用于库路径中的类,通常会导致“转换为 Dalvik 格式失败并出现错误 1”。 (这同时使用了 Android 库引用和 Eclipse 库引用,因此可能会出现后者。)
  • 您的库项目是否包含链接文件夹? ADT 的库项目似乎只包含 src 文件夹,忽略任何链接的文件夹。
  • 我也有同样的问题,关注this solution解决了我的问题。

标签: android eclipse


【解决方案1】:

我每隔一段时间就会出现这种情况,但不确定是什么原因造成的。为了解决这个问题,我必须链接到我的库项目的源代码。在主项目的构建路径中,链接到您尝试包含的库项目的“src”文件夹。

【讨论】:

  • 这似乎只是一个部分解决方案,因为它不引入子库,或者,我希望,活动声明。也许我对后者的要求太高了。
【解决方案2】:

我们遇到了同样的问题(在 IntelliJ 和 Ant 中工作,但在 Eclipse 中没有。)在 Eclipse 中安装了 Aptana Studio。删除允许库项目引用在 Eclipse 中工作的广告。

【讨论】:

    【解决方案3】:

    1) 右键单击​​您的 Android 项目。

    2) 转到它的属性

    3) 从左侧显示的菜单中选择 Android 选项

    4) 查看右侧的库面板,位于 API 列表下方。

    5) 点击“Add..”按钮添加库项目。

    请记住,您尝试添加为当前项目的库的单独项目应标记为“IsLibrary”。

    【讨论】:

      【解决方案4】:

      我遇到了类似的问题。即使在添加了库项目之后,所需的文件也不包括在内。 似乎有这个thread 中讨论的错误。

      我发现在 Eclipse 的 default.properties 文件中没有读取库项目位置,因为我的工作项目与库项目位于不同的驱动器中(我在 Windows 中进行开发)。将我的项目移动到与库项目相同的驱动器后,它开始工作。 在修复错误之前,这可能会作为一种解决方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-17
        • 2013-06-30
        • 2018-01-25
        • 2013-07-27
        • 2011-01-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多