4

过去几个月,我在我的应用程序中成功使用了 android-support-v7-appcompat 库来支持旧设备中的操作栏。最近我从 SDK Manager 下载了带有系统映像和 SDK 平台的 Android 4.4(kitkat) 更新。我还在清单文件中将 targetSdkVersion 添加到“19”。但是我的项目显示错误为“android-support-v7-appcompat jar mismatch”。修复你的依赖。然后,我使用构建路径菜单 > 添加外部 jar 将 /extras/android/support/.... 中的 jar 作为外部 jar 添加到项目中。现在项目中没有错误,android-support-v7-appcompat.jar 和 android-support0v4.jar 文件在“Referenced Libraries”文件夹下显示两次,在“libs”文件夹下显示一次。该项目未显示错误并正在运行,

以前我将 android-support-v7-appcombat 库作为工作场所的外部项目导入。我可以在该项目中看到错误。请建议我现在应该做什么。此外,android-support-v7-appcompat.jar umder Android Dependencies in Java Build Path 显示错误。

我看到的错误是:

Found 2 versions of android-support-v7-appcompat.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: C:\<project hierarchy>\libs\android-support-v7-appcompat.jar

Path: C:\Users\....\sdk\extras\android\support\v7\appcompat\libs\android-support-v7-appcompat.jar

 Jar mismatch! Fix your dependencies

从不同的论坛得到想法后,我从不同的地方删除了所有的 android-support-v7-appcompat 库,并在项目中再次导入了 android-v7 支持库。仍然显示错误。我还应该从 buildpath 和 libs/private library/referenced library 文件夹中删除 android-support-v4 库吗?

4

4 回答 4

10

当在同一个项目或它使用的库中找到同一库的多个不同实例时,会发生此错误。解决这个问题的一个非常简单的方法是在两个地方都使用公共库。为此:

只需复制您的 C:\Users....\AppData\Local\Android\android-studio\sdk\extras\android\support\v7\appcompat\libs\android-support-v7-appcompat.jar 并将其粘贴到您的libs 文件夹,用这个替换旧的。清理项目,它现在应该编译..

编辑1: 基本上这个想法是如果你使用相同的库,它应该是普通的jar,或者同一个jar。在您的情况下,如果您使用 appv7 作为外部项目,请转到项目的 libs 文件夹,复制 android-support-v4.jar,然后粘贴到 android-support-v7-appcompat 项目的库中。

另外,请确保您使用的其他外部 jar 或支持库,它们应该是您正在使用的所有项目中的类似 jar。

我希望它有帮助!

于 2013-11-18T18:08:39.737 回答
0

我很高兴我终于找到了答案。我一次又一次地遇到同样的问题,我就像受够了。

这是您问题的答案。

每当您遇到此类错误时,请不要触摸libs文件夹以外的任何内容。直接进入 libs 文件夹并立即删除android-support-v4.jar。并清理构建您的项目。摆脱错误会让您松一口气。

希望它对你有用。继续编码。。

于 2015-01-10T14:36:42.013 回答
0

安装问题中提到的所有更新后,我遇到了完全相同的问题。我确信有不同的方法可以解决这个问题。这是我使用的方式:

以前,创建活动时,向导会自动生成以下项目:

androi-support-v7-appcompat并且该项目已添加到构建路径中。

在所有更新之后,创建活动时会生成以下等效项:

appcompat_v7与同名的罐子。我删除了 androi-support-v7-appcompat并确保项目使用appcompat_v7来替换 其构建路径中的androi-support-v7-appcompat 。这使得重复生成的数百个错误消失了。

于 2014-04-01T22:42:51.733 回答
-1

通过尝试不同论坛建议的不同选项,我实际上已经找到了解决方案。我手动更改了 android-support-v7-appcompat 项目(作为外部项目添加)的 project.properties 文件,并且必须设置“target=android-19”。

于 2013-11-18T22:58:18.143 回答