簡體   English   中英

Gradle錯誤:任務':app:transformClassesWithJarMergingForDebug'的執行失敗

[英]Gradle Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'

    compile('com.google.android.gms:play-services-gcm:8.4.0') {
        exclude group: 'com.android.support', module: 'support-v4'
        exclude group: 'com.google.android.gms'
    }
    compile ('com.google.android.gms:play-services-base:8.4.0') {
        exclude group: 'com.android.support', module: 'support-v4'
        exclude group: 'com.google.android.gms'
    }

    compile('com.android.support:appcompat-v7:23.2.0') {
        exclude module: 'animated-vector-drawable'
    }

    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'se.emilsjolander:stickylistheaders:2.7.0'
    compile 'com.google.code.gson:gson:2.5'
    compile('com.koushikdutta.ion:ion:2.+') {
        exclude module: 'gson'
    }
    compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1@aar'
    compile 'com.github.androidprogresslayout:library:2.0.2@aar'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.slider:library:1.1.5@aar'
}  

但是每次我得到這個錯誤:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException:
    java.util.zip.ZipException:
        duplicate entry: android/support/v4/widget/SimpleCursorAdapter$CursorToStringConverter.class

這是gradlew -q dependencies App:dependencies --configuration compile結果:

在此處輸入圖片說明

從您可以看到的底部開始,我沒有添加com.google.android.gms:play-services-measurement lib,但是沒有任何理由顯示它嗎?

找到解決方案

我檢查了gradle的控制台,同時對依賴項進行了分解,我看到了;

Dexing \app\build\intermediates\exploded-aar\com.github.JakeWharton\ViewPagerIndicator\2.4.1\jars\libs\android-support-v4.jar took 1499

它將最舊的support-v4 lib添加為jar。 我從build.gradle中刪除了ViewPagerIndicator依賴項,並手動添加了它的類。

現在,最奇怪的問題解決了。

您要添加兩次支持庫v4。

這是因為您正在使用

compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1@aar'

您正在從jitpack獲取此庫。
該庫 將支持 添加為jar而不是gradle依賴項。

這意味着pom文件沒有依賴項,並且您不能通過gradle排除jar文件,因為jar位於aar文件內(沒有pom,gradle如何知道應該排除這些文件?)。

您可以在jitpack存儲庫中檢查文件:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM