在Android 4.4 SDK更新后,android-support-v7-appcombat jar不匹配和应用程序崩溃

时间:2013-11-14 21:49:27

标签: java android-support-library android-4.4-kitkat android-appcompat

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

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

我看到的错误是:

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 librariry /引用的库文件夹中删除android-support-v4库?

4 个答案:

答案 0 :(得分:10)

如果在同一项目中找到同一个库的多个不同实例,或者它们使用的库,则会发生此错误。解决此问题的一种非常简单的方法是在两个位置使用公共库。为此:

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

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

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

我希望它有所帮助!

答案 1 :(得分:0)

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

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

androi-support-v7-appcompat ,此项目已添加到构建路径中。

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

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

答案 2 :(得分:0)

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

以下是您问题的答案。

每当您收到此类错误时,请勿触摸 libs 文件夹以外的任何内容。只需直接进入libs文件夹,然后立即删除 android-support-v4.jar 。并清理构建您的项目。你可以放心去除错误。

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

答案 3 :(得分:-1)

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