在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) ... 

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

  • 如何在我自己的私有应用程序中使用Android的Face Unlock?
  • 导致一个java.IllegalStateException错误,没有活动,只有在第二次导航到分片时
  • 用于LVL和片段兼容性支持的Proguard Android应用程序
  • TextView自动调整不起作用(Android O)
  • IllegalArgumentException:pointerIndex超出了SwipeRefreshLayout的范围
  • AppCompat视图与普通Android视图之间的差异
  • @IndDef注释和从其他代码返回值不能被注释或如何暂时禁用注释从而影响代码?
  • FragmentTransation setCustomAnimations不起作用
  • 我通过进入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' }