1

我有一个工作应用程序,现在我已将其转换为 Eclipse 中的库项目。当我尝试将库作为“项目参考”包含在一个空应用程序中时(除了从库继承的功能之外没有其他功能),它无法构建。我得到消息Unable to execute dex: Multiple dex files define Lcom/facebook/android/R$attr;

为了解决这个问题,我尝试完全删除 Android 依赖项。但是后来我得到了库中类的“类未找到异常”。

是否可以在不删除应用程序库依赖项的情况下删除 Facebook依赖项?我试图删除 facebooksdk.jar 文件,但无法这样做,因为所有按钮都变灰了。(见下面的屏幕截图)

尝试删除 facebooksdk.jar

我还尝试在“订单和导出”中简单地取消选中“Android 依赖项”。这对问题没有影响。

欢迎您提出建议。


仅供参考,我的项目有 3 个主要组成部分。所有 3 个都包含在同一个 Eclipse 项目文件夹中(参见屏幕截图):

Eclipse 项目视图

  • 应用程序“App_A”
  • Library_L(包含在“A”中作为项目参考) 值得注意的是,当我将 Library_L 作为非库项目运行时,它可以完美执行。
  • Facebook SDK 3.0.2(作为项目参考包含在 Library_L 中(参见屏幕截图) 图书馆的项目参考
4

1 回答 1

1

项目引用用于包含库项目(例如,Facebook SDK)。

文档——以及秃子的书籍——向您展示了如何将 Android 库项目附加到您的应用程序中,它与“项目引用”无关。

同样,Facebook SDK 的文档向您展示了如何将他们的 Android 库项目附加到您的应用程序(参见第 6 步)。他们遵循标准的 Android 库项目方法,也不涉及“项目引用”。

现在,可以想象,较新的 Eclipse 版本(我正在运行 Indigo)会导致“项目引用”将 Android 库项目显示为选中状态——在我的版本中并没有这样做。

确保您已正确设置 Android 库项目,并查看这是否有助于解决您的问题。

于 2013-08-15T21:47:06.360 回答