在Android项目和库中使用支持库(Android Studio)

我正在使用新的Android Studio,我正在寻找一种方法来使用来自多个项目的支持库。 基本上我有一个项目,使用ActionBarSherlock这个项目需要支持库。 所以我在这个问题中join了一个参考。

现在我有我的主要项目也使用支持库的问题,所以我有它在某种程度上包括两次。 如果我从两个项目中的一个项目中删除了这个库,我将会得到一些支持库相关的类未知的错误,这对我来说是很清楚的,但是如果我在两个项目中都有一个参考,我将面临这个错误:

 Android Dex: [ProjectName] UNEXPECTED TOP-LEVEL EXCEPTION: Android Dex: [ProjectName] java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ShareCompat$ShareCompatImplJB; Android Dex: [ProjectName] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) Android Dex: [ProjectName] at com.android.dx.dex.file.DexFile.add(DexFile.java:163) Android Dex: [ProjectName] at com.android.dx.command.dexer.Main.processClass(Main.java:490) Android Dex: [ProjectName] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459) ... 

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

Solutions Collecting From Web of "在Android项目和库中使用支持库(Android Studio)"

我通过进入File > Project Structure...并selectModules然后点击模块的Dependencies选项卡来解决这个问题。 然后在图书馆旁边,我将范围从“ Compile更改为“ Provided

这意味着模块仍然可以使用它,但是它并没有达到编译的目的,因为我假设你已经在你的主项目中使用了这个JAR。

希望这可以帮助!

我遇到了类似的问题。 select项目选项卡/栏/任何(在左边,所以你可以看到项目树) actionbarsherlock 。 按F4打开模块设置。
确保你在actionbarsherlock和你的项目中没有使用两次相同的依赖关系
另外请确保您使用的是android-studio sdkandroid-studio/sdk/extras/android )中的支持库版本。

最后,如果你像我一样,确保你没有意外地使actionbarsherlock依赖于自身,从而以这种方式加载库两次! > <

看看这些图片显示我的模块首选项: http : //imgur.com/a/JupWp Actionbar Sherlock在这里输入图像说明

此外,不要忘记确保libs不隐藏任何相同的!

这是否用作Eclipse项目? 如果是这样,尝试进入Eclipse,清理项目,退出,在IntelliJ重build。 我相信这是一个国家问题,而不是configuration问题。

而不是像jar导入android支持库,我把build.gradle中的库(在我的情况下脸谱sdk)依赖项更改为:

 dependencies { compile 'com.android.support:support-v4:13.0.0' }