5

我在 Eclipse 中将 2 个外部库(库 A 和库 B)导入到我的项目中。这些库都需要“android-support-v4.jar”库。所以编译的时候报错:

罐子不匹配!修复你的依赖

我已经阅读了所有类似的问题,并尝试从我的项目中删除库“androi-support-v4.jar”。按照说明进行操作:属性-> Java 构建路径-> 库-> 选择“android-support-v4.jar”-> 禁用所有按钮。我删不掉???

在此处输入图像描述

即使,在我可以从我的项目中删除“android-support-v4.jar”的情况下,2 个库 A 和 B 之间仍然存在冲突。因为 A 和 B 都需要“android-support-v4.jar”。如果我从库 A 中删除“android-support-v4.jar”,则无法编译库 A。

4

2 回答 2

9

感谢@SercanOzdemir 的回答。解决方案是我的项目,所有依赖库都必须推断出只有一个“android-support-v4.jar”。所以我要做的是

  • 在我的项目中,我从库 A 添加“android-support-v4.jar”
  • 在库 B 中,我删除了它的 jar,并从库 A 中添加了“android-support-v4.jar”

所以所有人都从库 A 中推断出只有一个“android-support-v4.jar”

于 2013-05-12T13:57:35.283 回答
2

您可以使用 SupportLibrary jar 文件创建一个新的库项目,并让所有需要支持库的项目引用它。这样,您只需要管理 jar 的 1 个副本。只要确保每次更新支持库时都进行干净的构建。

您始终可以保留 SupportLibrary 的通用副本,并让所有项目将其作为外部 jar 添加到构建路径中。但它不允许您通过创建项目来尽可能快地更新库。

PS:当您创建 SupportLibrary 项目时,请确保您不包含任何资源作为它的一部分。通常eclipse在新建项目时会创建values-v11/styles.xml和values-v14/styles.xml。当另一个库项目包含您的 SupportLibrary 项目时,这可能会导致构建失败(尤其是如果它针对 Honeycomb 下的 API)。

于 2013-10-30T07:57:19.477 回答