Gradle重复项:java.util.zip.ZipException

我通过它的Maven仓库将Zendesk mobile sdk集成到我的项目中,并且不会再生成。 它与我正在使用的毕加索图书馆有某种冲突。 我在构build过程中遇到这个错误:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class 

我在应用程序文件夹上运行了../gradlew dependencies ,这就是我在zendesk模块下发现的:

 \--- com.zendesk:sdk:1.0.0.1 +--- com.squareup.retrofit:retrofit:1.4.1 | \--- com.google.code.gson:gson:2.2.4 +--- com.squareup.picasso:picasso:2.3.2 +--- com.android.support:support-v4:20.0.+ -> 21.0.3 (*) \--- com.android.support:appcompat-v7:20.0.+ -> 21.0.3 (*) 

所以zendesk也使用毕加索,但是与我在我的项目中有不同的版本。 我试图从zendesk这样排除毕加索:

 compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){ exclude group: 'com.squareup.picasso' } 

但是这会导致应用程序其他组件中的运行时exception。 我得到一个与图书馆完全无关的类的NoDefFoundError。
有没有人有任何想法如何解决这个问题?

    Related of "Gradle重复项:java.util.zip.ZipException"

    当您添加com.android.support:multidex依赖项时,实际上添加了一些与其他依赖项相冲突的依赖项。

    我解决了它:
    —————
    1.search类,在你的情况下,“RequestWeakReference.class”(在AndroidStudio中,只需按下Windows上的Ctrl + N或Mac上的CMD-O)
    2.查看哪个jar包含它 – Android Studio会将它写入popup窗口中。
    3.从所有版本中排除它,例如:

     android { configurations{ all*.exclude module: 'servlet-api' } }