【问题标题】:Android Studio: Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'. >Android Studio:错误:任务“:app:transformClassesWithJarMergingForRelease”执行失败。 >
【发布时间】:2017-08-20 11:54:18
【问题描述】:

我需要帮助,我是 Android Studio 的新手,我遇到了这个错误:

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/database/DatabaseUtilsCompat.class

这是我的 build.gradle 文件,希望对您有所帮助:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.app_name.vallic.hr"
        minSdkVersion 14
        targetSdkVersion 25
        multiDexEnabled true

        ndk {
            moduleName "player_shared"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }


    }

    configurations {
        all*.exclude group: 'com.android.support', module: 'support-v4'
        all*.exclude group: 'com.android.support', module: 'support-annotations'
    }

    sourceSets.main {
        jni.srcDirs = []// <-- disable automatic ndk-build call
    }
}

dependencies {
    compile('com.google.android.gms:play-services:+') {
        exclude module: 'support-v4'
        compile files('libs/dagger-1.2.2.jar')
        compile files('libs/javax.inject-1.jar')
        compile files('libs/nineoldandroids-2.4.0.jar')
        compile files('libs/support-v4-19.0.1.jar')
        compile('com.android.support:multidex:1.0.1')
    }
}

【问题讨论】:

  • 检查我更新的答案。
  • 嗨,我在哪里可以更改多索引库初始化?
  • 您好,已经改了,感谢您的帮助,但还是出现同样的错误。
  • 为什么要使用编译文件('libs/support-v4-19.0.1.jar')?这是一个非常非常老的版本。
  • 嗨,加布里埃尔,那我该怎么办?更新?

标签: java android android-studio gradle android-gradle-plugin


【解决方案1】:

multidex 也有 support v4 库类,您已经单独包含了 v4 库。

所以你必须从 multidex 库中排除 support v4 模块。

像这样更改您的 mulitdex 库初始化。

    compile ('com.android.support:multidex:1.0.1'){
            exclude module: 'support-v4'
        }

你的依赖初始化应该是这样的。

dependencies {
    compile('com.google.android.gms:play-services:+') {
        exclude module: 'support-v4'
    }
    compile files('libs/dagger-1.2.2.jar')
    compile files('libs/javax.inject-1.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/support-v4-19.0.1.jar')
    compile('com.android.support:multidex:1.0.1'){
    exclude module: 'support-v4'
    }
}

希望对你有帮助:)

【讨论】:

  • 嗨,我在哪里可以更改多索引库初始化?
  • 查看我的答案,复制完整的依赖代码并替换为您的。就是这样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 2018-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多