:app:packageAllDebugClassesForMultiDex 失败,...zip.ZipException:重复条目:android/...v4/widget/SearchViewCompatIcs$MySearchView.class

:app:packageAllDebugClassesForMultiDex FAILED, ...zip.ZipException: duplicate entry: android/...v4/widget/SearchViewCompatIcs$MySearchView.class

我已经处理这个问题几个小时了,但找不到解决方案。尝试了很多来自 Whosebug 的答案,但没有成功。

我得到的是以下 gradle 错误,而 运行 应用程序:

:app:packageAllDebugClassesForMultiDex FAILED
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: android/support/v4/widget/SearchViewCompatIcs$MySearchView.class
当我将 ShareThis Sdk 的依赖项添加到 gradle 时,

Android studio 抛出错误。这是完整的 gradle:

apply plugin: 'com.android.application'

android {
    signingConfigs {
        config {
            keyAlias 'Alies'
            keyPassword 'password'
            storeFile file('path.jks')
            storePassword 'password'
        }
    }
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId "example.com.app"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        preDexLibraries = false
        incremental true
    }
    //configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }
    //configurations { all*.exclude module: 'support-v4' }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    provided files('libs/universal-image-loader-1.9.3.jar')
    compile project(':library-circular')
    compile('com.android.support:appcompat-v7:22.2.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    compile project(':sliding_library1')
    compile('com.google.android.gms:play-services:7.5.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    compile project(':sdk')
}

我们将不胜感激。

似乎问题出在 Compile independent modules in parallel (may require larger heap size)。因此,禁用该选项并清除重建应该可以解决它。

看起来像Android multidex 的构建工具有时 尝试在两个dex 文件中包含lib 项目,这会导致一些冲突然后同时编译。

那么,问题已经解决了。实际上 support-v4 jar 文件之间存在冲突,所以我只是在各处使用相同的 support-v4.jar 问题是已修复。