【问题标题】:Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'错误:任务“:app:transformClassesWithJarMergingForDebug”执行失败
【发布时间】:2016-01-17 12:25:26
【问题描述】:

美好的一天。 在 AndroidStudio 中更新 google 存储库后,我有一个问题

> Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.transform.api.TransformException: java.util.zip.ZipException: duplicate entry:
> android/support/v7/cardview/BuildConfig.class

我试图从播放服务中排除组 android.support,但没有帮助。 当我在另一台 PC 上开始我的项目时,我有:

> Error:Execution failed for task  ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.transform.api.TransformException: java.util.zip.ZipException: duplicate entry:
> android/support/annotation/AnimRes.class

我的 build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'com.android.databinding'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "ru.alexeyk.myevents"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 16
        versionName "1.121"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile('com.github.nkzawa:socket.io-client:0.4.2') {
        exclude group: 'org.json', module: 'json'
    }
    compile files('libs/sentry-1.1.4.jar')
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:support-annotations:23.1.0'
    compile 'com.android.support:design:23.1.0'
    compile 'com.android.support:support-v4:23.1.0'
    compile 'com.android.support:cardview-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
    compile 'com.github.machinarius:preferencefragment:0.1.2'
    compile 'com.edmodo:cropper:1.0.1'
    compile 'com.makeramen:roundedimageview:2.1.1'
    compile 'org.ocpsoft.prettytime:prettytime:4.0.0.Final'
    compile 'com.yandex.android:mobmetricalib:2.00@aar'
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.google.android.gms:play-services-ads:8.1.0'
    compile 'com.google.android.gms:play-services-analytics:8.1.0'
    compile 'com.google.android.gms:play-services-identity:8.1.0'
    compile 'com.google.android.gms:play-services-gcm:8.1.0'
}

【问题讨论】:

    标签: android compiler-errors


    【解决方案1】:

    在终端中执行根项目文件夹:

    ./gradlew clean
    

    它帮助了我。

    【讨论】:

    • @dens14345 你用什么操作系统?
    • @dens14345 试试 .\gredlew.bat clean
    • 我试过 gradlew clean 但它不工作。我得到同样的错误。任何解决方案
    • 不适用于我的情况
    • 这显然不能解决任何实际问题。它只是重建项目。
    【解决方案2】:

    AndroidStudio 菜单:

    构建/清理项目

    更新旧的依赖项

    【讨论】:

      【解决方案3】:

      以上所有对我都不起作用..因为我正在使用 Facebook Ad 依赖..

      如果有人使用此依赖项compile 'com.facebook.android:audience-network-sdk:4.16.0'

      试试这个代码而不是上面的代码

      compile ('com.facebook.android:audience-network-sdk:4.16.0'){
      exclude group: 'com.google.android.gms'
      }
      

      【讨论】:

      • 先生,如果您曾经在南美洲,您刚刚为自己赢得了一杯免费啤酒。天哪,我讨厌 AS。
      【解决方案4】:

      打开您的系统命令提示符/终端 -> 转到您的项目文件夹路径(根项目文件夹)-> 执行以下命令:命令:- gradlew clean./gradlew clean

      确保你所有的 gradle 依赖都是相同的版本。 -> 示例:- 您的 appcompat 和 recyclerview 依赖项应该具有相同的版本。

      -> 将您的 gradle 依赖项更改为相同的版本,例如:-

      compile 'com.android.support:appcompat-v7:23.4.0'
      compile 'com.android.support:design:23.4.0'
      compile 'com.android.support:recyclerview-v7:23.4.0'
      compile 'com.android.support:cardview-v7:23.4.0'
      

      -> 重建你的项目,它会正常工作。

      【讨论】:

      • 在我的例子中,我发现了不同版本的 google play 服务和 firebase 广告。 Firebase 现在属于 google play services 旗下,因此具有相同的版本。
      • 这对我有用。在应用程序 build.gradle 中清理并将 compile 'com.android.support:recyclerview-v7:+' 更改为 compile 'com.android.support:recyclerview-v7:24.2.1'
      【解决方案5】:

      在终端中使用项目根目录,如下所示:-/Users/rajnish/Desktop/RankProjects/ProjectCloud

      然后输入这个命令 ./gradlew clean

      它会起作用的。

      【讨论】:

        【解决方案6】:

        报告的问题可能有不同的原因,几天前升级工作室后也遇到了这个问题“重复的 jar”。从所有 stackoverflow 中,我尝试了所有建议,但对我没有任何帮助。

        但这肯定是存在一些重复的 jar,对我来说,它存在于一个库 libs 文件夹以及项目 libs 文件夹中。所以我从项目 libs 文件夹中删除了,因为这里不需要它。所以在更新studio时要小心,并尝试理解所有的gradle错误。

        【讨论】:

        • 感谢您的回答,我开始失去希望了 :) 您的回答是我案件的解决方案
        【解决方案7】:

        我收到此错误是因为我的 build.gradle 中没有正确的行。我正在使用org.apache.http.legacy.jar 库,它需要这个:

        android{
           useLibrary 'org.apache.http.legacy'
        
           ...
        }
        

        因此,请检查您的 gradle 文件中是否包含所需的所有内容。

        【讨论】:

          【解决方案8】:

          我通过仔细检查“libs”目录并删除多余的 jar 解决了这个问题,即使这些 jar 没有手动添加到依赖项中。

          【讨论】:

            【解决方案9】:

            查看您添加的重复 jar 或依赖项是否将其删除,您的错误将消失: 例如: 如果您添加 android:supportv4 jar 和依赖项,您将收到错误,因此删除 jar 错误将消失

            【讨论】:

              【解决方案10】:

              我通过将 recyleview 的版本号更改为 recyclerview-v7:24.2.1 来解决这个问题。 请检查您的依赖关系并使用正确的版本号。

              【讨论】:

                【解决方案11】:

                对我来说,问题是由 com.google.android.exoplayercom.facebook.android:audience-network-sdk 冲突引起的。

                我通过从audience-network-sdk 中排除exoplayer 库解决了这个问题:

                compile ('com.facebook.android:audience-network-sdk:4.24.0') {
                    exclude group: 'com.google.android.exoplayer'
                }
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-06-18
                  相关资源
                  最近更新 更多