我的项目取决于两个库,一个是ActionBarSherlock
,另一个是Facebook SDK
。
这两个库项目都依赖于android-support-library
。
现在的问题是,如果我在两个库项目中包含这个库,我会收到此构建错误
Android Dex: [MyApp] Unable to execute DX
Android Dex: [MyApp] com.android.dex.DexException: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
如何设法让两个库依赖于同一个库?
答案 0 :(得分:1)
当您的应用中有两个不同版本的jar文件时,通常会显示此错误。只需确保在两个库中都包含相同的jar,并且jar只会在APK中包含一次。
答案 1 :(得分:1)
要解决此问题,解决方案是您必须在所有库和主项目中具有相同的支持库,您需要选择每个项目并添加支持库,如下所示
右键单击项目 Android工具 添加支持库
重新完成所有项目!!
答案 2 :(得分:0)
在android support library
lib中加入ActionBarSherlock
,然后将ActionBarSherlock
库包含在Facebook
库中,最后将Facebook
库添加到您的库中project.
最后:清理项目
答案 3 :(得分:0)
1. Right click on the Project Name
2. Select Build Path -> Configure Build Path
3. In Java Build Path, go to the tab Order and Export
4. Unchecked your .jar library
希望它能帮到你.... :)
答案 4 :(得分:0)
我有同样的问题。我这样解决了 - 1-转到项目的libs目录。将有来自谷歌的android支持库的jar文件。删除这个罐子。 2-从Facebook SDK的lib目录中复制android支持库jar。 3-将此jar粘贴到项目的libs目录中(在步骤1中删除了Google提供的jar的位置)。 4-现在右键单击这个罐子。选择“构建路径”。选择“添加到构建路径”
你完成了。 现在你有了相同的JAR文件,它在所有地方的Facebook SDK中提供。
注意:以相反的方式复制,即将Google提供的支持jar复制到Facebook SDK中对我来说不起作用。它无法获得LocalBroadcastManager。我不知道为什么。