【问题标题】:java.util.zip.ZipException: duplicate entry: android/arch/core/internal/SafeIterableMap.classjava.util.zip.ZipException:重复条目:android/arch/core/internal/SafeIterableMap.class
【发布时间】:2018-03-13 08:15:47
【问题描述】:

在尝试构建我的应用时,Android Studio 抛出以下异常:

java.util.zip.ZipException:重复条目:android/arch/core/internal/SafeIterableMap.class

应用分级

编译fileTree(include: ['*.jar'], dir: 'libs')

compile "com.android.support:support-vector-drawable:$rootProject.supportLibraryVersion"

compile "com.android.support:multidex:$rootProject.multidexVersion"

compile("android.arch.persistence.room:runtime:$rootProject.androidRoomVersion") 

annotationProcessor "android.arch.persistence.room:compiler:$rootProject.androidRoomVersion"

compile "com.firebase:firebase-jobdispatcher:$rootProject.firebaseJobDispatcherVersion"

compile("org.simpleframework:simple-xml:$rootProject.simpleXmlVersion") {
    exclude module: 'stax'
    exclude module: 'stax-api'
    exclude module: 'xpp3'
}
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
    transitive = true;
}

项目 Gradle

 compileSdkVersion       =   26
buildToolsVersion       =   '26.0.2'
minSdkVersion           =   19
targetSdkVersion        =   26


 supportLibraryVersion           =     '27.0.2'
playServicesVersion             =     '9.8.0'
androidRoomVersion              =     '1.0.0-alpha2'
okHttpVersion                   =     '3.8.1'
gsonVersion                     =     '2.6.2'
firebaseJobDispatcherVersion    =     '0.8.5'
multidexVersion                 =     '1.0.1'
simpleXmlVersion                =     '2.7.+'
butterknifeVersion              =     '8.7.0'
facebookStethoVersion           =     '1.5.0'
timberVersion                   =     '4.6.0'
tutoshowcaseVersion             =     '1.0.1'
zxingScannerVersion             =     '1.9.8'
glideVersion                    =     '3.7.0'
exoplayerVersion                =     'r2.4.0'

【问题讨论】:

  • 至少向我们展示您的完整 build.gradle 文件
  • 我共享的 gradle 文件你可以检查一下。

标签: android


【解决方案1】:

我遇到了类似的问题。

我知道这是因为重复依赖,解决方案是排除导致重复的特定模块。为了确定我使用信息运行构建。

在运行构建之前,我在 gradle.properties 中添加了 android.enableBuildCache=false 属性以避免缓存中的路径名。

搜索SafeIterableMap$ListIterator.class的用法,发现有两个jar,它添加了SafeIterableMap$ListIterator.class。

我就是这样的。

由此,我对要排除的内容以及要排除的位置有了清晰的认识。添加如下排除并运行构建。

这解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多