Android 转换到库项目(包括Facebook SDK)时出现问题

Android 转换到库项目(包括Facebook SDK)时出现问题,android,facebook,dex,Android,Facebook,Dex,我有一个可以工作的应用程序,现在我已经在Eclipse中转换为一个库项目。当我试图将库作为“项目引用”包含在一个空应用程序中时(除了从库继承的功能外,没有其他功能),它无法构建。我收到消息无法执行dex:多个dex文件定义Lcom/facebook/android/R$attr 为了解决这个问题,我尝试完全删除Android依赖项。但随后我得到了库中类的“未找到类异常” 是否可以在不删除应用程序库依赖项的情况下删除Facebook依赖项?我试图删除facebooksdk.jar文件,但无法删除,

我有一个可以工作的应用程序,现在我已经在Eclipse中转换为一个库项目。当我试图将库作为“项目引用”包含在一个空应用程序中时(除了从库继承的功能外,没有其他功能),它无法构建。我收到消息
无法执行dex:多个dex文件定义Lcom/facebook/android/R$attr

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

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

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

欢迎你的建议



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

  • 应用程序“应用程序A”
  • Library_L(包含在“A”中作为项目引用)值得注意的是,当我将Library_L作为非Library项目运行时,它可以完美地执行
  • Facebook SDK 3.0.2(作为项目参考包含在库中(请参见屏幕截图)
项目引用用于包括库项目(例如,Facebook SDK)

这些——以及秃头人的书——向你展示了如何将Android库项目附加到你的应用程序中,而这与“项目引用”无关

类似地,向您展示了如何将他们的Android库项目附加到您的应用程序中(请参见步骤6)。他们遵循标准的Android库项目方法,这也不涉及“项目引用”

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

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

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

这些——以及秃头人的书——向你展示了如何将Android库项目附加到你的应用程序中,而这与“项目引用”无关

类似地,向您展示了如何将他们的Android库项目附加到您的应用程序中(请参见步骤6)。他们遵循标准的Android库项目方法,这也不涉及“项目引用”

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


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

“所有3个都包含在同一个Eclipse项目文件夹中”——这是什么意思?另外,“项目引用”是什么意思?我又添加了两个屏幕截图,以更好地传达项目的组织和依赖关系。仅供参考,项目引用用于包括一个库项目(例如Facebook SDK)。“所有3个都包含在同一个Eclipse项目文件夹中”--这意味着什么?还有,“项目引用”是什么意思?我又添加了两个屏幕截图,以更好地传达项目的组织和依赖关系。仅供参考,项目参考用于包括一个库项目(例如,Facebook SDK)。谢谢你的建议。事实上,我之前使用了你描述的方法附加了库。在此过程中,我还添加了项目参考。无论如何,这个想法听起来很有希望,所以我做了另一个实验。我在保留库附件的同时删除了项目参考。不幸的是,它最终以exac结束t与“多个dex文件定义Lcom/facebook/android/R$attr”的结果相同…直到我再次清理应用程序和库并再次尝试。然后,瞧,一切都成功了!非常感谢。你又做了一次。感谢你的建议。实际上,我之前使用了你描述的方法附加了库。在此过程中,我还添加了项目参考。无论如何,想法是因此,我做了另一个实验。我删除了项目引用,同时保留了库附件。不幸的是,结果与“多个dex文件定义Lcom/facebook/android/R$attr”完全相同…直到我再次清理应用程序和库并再次尝试。然后,瞧,一切都成功了!非常感谢。你又做了一次。