130

我正在尝试创建 2 个版本的 Android 应用程序(免费/付费)。我有一个 Android 库,其中包含两者共有的文件。我创建了一个新的 Android 项目并尝试使用该库,但出现以下错误:

Found 2 versions of android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/Zaheer/Developer/App Free/libs/android-support-v4.jar
    Length: 349252
    SHA-1: 612846c9857077a039b533718f72db3bc041d389
Path: /Users/Zaheer/Developer/App Library/libs/android-support-v4.jar
    Length: 337562
    SHA-1: 27c24d26e4c5d57976e6926367985548678e913c

关于如何解决这个问题的任何想法?我一直在玩构建路径,但没有成功。

4

14 回答 14

177

关于如何解决这个问题的任何想法?

删除一个。

我一直在玩构建路径,但没有成功。

步骤#1:撤消所有这些。如果你弄乱了构建路径,在 R16 或更高版本的 Eclipse 的 ADT 插件上,你做错了。

第 2 步:选择这两个 JAR 版本之一,或从 SDK 安装的“附加”区域中选择一个。

第 3 步:将正确的 JAR 放入App Library.

第 4 步:从 中删除一个App Free,因为它会从App Library.

欢迎您在两个位置 (App FreeApp Library) 中使用相同的实际 JAR 文件,尽管这会无缘无故地占用额外的空间。

于 2012-08-20T21:42:29.457 回答
24
  1. 从 App Free 中删除 android-support-v4.jar
  2. 将相同文件从 App Library 添加到 App Free
于 2012-12-11T05:14:26.273 回答
12

以上解决方案主要解决问题。使用这些解决方案后,问题仍然存在。然后

转到项目文件夹-> libs-> 并删除“android-support-v4.jar”

希望它能解决你的问题,因为它解决了我的问题。

于 2014-05-23T06:28:55.280 回答
11

在某些情况下,您有多个库项目,android-support-v4.jar它们的libs路径和构建路径中都有,并且您的项目对它们都有依赖关系。例如,就我而言,我的工作区中有以下库项目,

  • libfacebook
  • libsherlockactionbar

这两个项目都是独立的,我的project.properties样子如下,

# Project target.
target=android-17
android.library.reference.1=../libfacebook
android.library.reference.2=../libsherlockactionbar

当我构建我的项目时,我遇到了一个 jar 不匹配问题,即重复引用同一文件的两个副本。我为解决这个问题所做的事情有点诡计。我创建了一个新的库项目,命名为工作区中所有其他libcommons项目的父项目,包括和. 然后我从所有其他项目中删除了支持库,并在 libs 文件夹中只保留了一份副本。然后我添加了对我所有其他图书馆项目的参考。清理完我的工作区后,一切都像魅力一样。libfacebooklibsherlockactionbarlibcommonslibcommons

于 2013-12-22T07:40:52.653 回答
8

这是一个比删除和添加文件更优雅的修复!

你只需要:

  1. 右键单击项目应用程序免费
  2. 转到“Android工具”>“添加支持库”
  3. 批准权限并让它更新库
  4. 对项目 App Library 重复此过程

然后,Android 支持库将同步(:

于 2014-07-07T11:39:29.363 回答
7

非常简单的解决方案

一个非常简单的解决方案适用于我的案例,只需将相同的 (android-support-v4.jar) jar 文件复制到所有项目。不会再有冲突了。

1 从任一项目的 libs 文件夹中复制 jar 文件 android-support-v4.jar。

2 从已经存在的第二个项目的 libs 文件夹中删除 jar 文件 android-support-v4.jar。

3 将新复制的第一个项目的 jar 文件粘贴到第二个项目的 libs 文件夹中。

jar 不匹配问题现在将得到解决。

于 2014-11-20T11:14:39.237 回答
5

只需将库从其中一个项目复制到另一个项目。也许两者的时间戳需要相同。

于 2013-01-10T21:28:26.097 回答
4

解析度:

  1. 右键单击“免费”项目 > Android 工具 > 添加支持库。
  2. 在“付费”项目上做同样的事情。
  3. 清理所有项目
于 2014-03-01T17:36:35.603 回答
2

检查是否有不相关的项目为您打开,因为对我来说就是这种情况,似乎其中一个 JAR 文件与我没有使用的不同项目相关,所以我只是关闭了该项目,做了一个干净的构建我正在处理的项目并且不再有问题了!希望这对某人有帮助!

于 2014-06-12T16:46:12.063 回答
1

在库和项目中添加外部 jar 时使用相同的 jar

于 2013-11-06T07:47:47.317 回答
1

好吧..它对我有用:

项目文件夹 > 库

然后,删除“android-support-v4.jar”

然后

项目 > 清洁

它会起作用的!

于 2014-08-18T04:29:05.780 回答
1

我刚刚遇到了这个问题,但我没有删除冲突的android-support-v4.jar,而是将其重命名为android-support-v4_PROJECT.jar,从而消除了冲突。

如果您想知道如何在 Eclipse 中重命名文件,只需突出显示该文件并按 F2。

于 2015-02-21T21:42:14.127 回答
0

您只需要在每个项目上使用完全相同的 android-support-v4.jar 校验和。为此,您可以在所有冲突的项目/库中复制/粘贴其中一个。

无事可做,清洁和享受 :)

于 2014-10-30T10:12:33.140 回答
0

可能是您同时打开 2 个项目(均使用 android-support-v4.jar)。I close 1 project and every thing ok

于 2014-10-31T01:49:02.553 回答