我已经实现了新的Facebook SDK 3.0测试版。库项目包含Android支持库v4。我自己的项目上也有支持库(尽管版本不同)。当我将Facebook SDK作为库添加时,我在控制台上得到下一个错误:
Jar mismatch! Fix your dependencies
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.
字符串
我尝试排除buildpath上的libs
文件夹,但错误仍然存在。
我必须在两个地方都放上相同的.jar。我在这里遗漏了什么吗?这个想法是使用我自己项目的支持库(以保持更新)。
3条答案
按热度按时间lf5gs5x21#
看起来不同的项目使用两个独立的支持库,因此校验和是不同的。
您必须对Facebook SDK项目和您正在构建的应用重复此操作。
当我得到这个错误时,我会做的是:
1.右键单击项目。
1.将鼠标悬停在Android工具上。
1.点击“添加支持库...”
1.接受库的下载。
这确保了两件事:a.你可以从Google资源中获得最新版本的支持库,b.你在所有项目中都有完全相同的库。
t8e9dugd2#
只需删除项目中的一个,将其从类路径中删除,然后尝试重建项目。
gywdnpxw3#
通过顶部答案中提到的菜单安装相同版本的支持库是一个很好的解决方案。
虽然这有时对我不起作用(我认为这与我的工作区文件夹与Dropbox同步有关,所以Eclipse有时不会覆盖文件),所以我使用的方法是从中心位置链接支持库。
在你的SDK文件夹中有这些SDK文件(例如C:\Program Files(x86)\Android\android-sdk\extras\android\ on Windows),当你运行SDK管理器时,这些文件会被更新,所以你可以从Facebook(或任何其他库)和你的项目中引用它。因为最终,SDK文件中的代码会打包到你的
classes.dex
中。你甚至不需要libs
文件夹中的支持库。另外:如果您使用Gradle构建系统及其依赖项管理,甚至Maven,则不会遇到此类问题,但需要更多的时间和知识来正确设置。