我可以integrate (add & work) with many libraries

但是对于ActionBarSherlock库,我有很多问题。

第一期是流行的Multiple dex files define

我知道duplicated android-support-v4.jar会导致此问题,但现在无法解决此问题:

Error:Execution failed for task ':fitness:dexDebug'.

Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)

我遵循same error中的答案。它使用了:
dependencies {
    compile('...') {
      exclude module: 'support-v4'
    }

    compile 'com.android.support:support-v4:18.0.+'
}

但是我收到了第二期:unsupported Gradle DSL method found: 'exclude()'!错误。
因此,我将build.gradlemain module更改为:
//configurations {
//    all*.exclude group: 'com.android.support', module: 'support-v4'
//}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':google-play-services')
    compile files('/google-play-services/libs/google-play-services.jar')
    compile (project(':actionbarsherlock')) {
        exclude(module: 'support-v4')
    }
    compile 'com.android.support:support-v4:18.0.+'
}
Solved 第二版,但是仍然会出现第一版 Multiple dex files define错误。

我阅读了许多主题,但现在无法解决第一期

请帮我,

谢谢,

p/s:我可以成功地与Gradle同步,但是运行时,它会出现错误。

我用的是Android Studio 0.5.5

编辑
build.gradleActionBarSherlock,它只有一个android-support-v4.jar:
dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
}

像这样的setting.gradle:
include ':fitness', ':google-play-services',':actionbarsherlock'

@Garbriele:我更新了新问题,显示build.gradle of projectbuild.gradle of main modulebuild.gradleproject:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

编辑后的build.gradlemain module:
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // Get following error in this line
}

我在下面收到此错误:

好的,感谢@Garbriele的评论,我已经通过使用this来解决此问题:
repositories {
            mavenCentral()
        }
dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // Get following error in this line
    }

编辑2 当我这样放置时:
repositories {
            mavenCentral()
        }
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.google.android.gms:play-services:+'
}

仍然会出现第一期 Multiple dex files define错误。

我现在想要的是如何通过com.google.android.gms:play-services成功添加Maven库,

请帮我,

谢谢,

更新

按照以下步骤操作后:
  • 通过Maven将库放在主模块的build.gradle中:compile 'com.google.android.gms:play-services:+'
  • Restart Android Studio
  • Sync project with gradle

  • 再也不会出现此错误。

    最佳答案

    这么奇怪,

    当我这样设置我的依赖项时:

    repositories {
                mavenCentral()
            }
    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        compile 'com.google.android.gms:play-services:+'
    }
    

    我仍然收到第一期 Multiple dex files define错误。

    但是,请按照下列步骤操作:
  • 通过Gradle将库放在主模块的build.gradle中:compile 'com.google.android.gms:play-services:+'
  • Restart Android Studio
  • Sync project with gradle

  • 我不再收到此错误。

    07-24 09:49
    查看更多