Android Proguard构建失败:重复的zip条目

时间:2017-01-16 11:26:25

标签: android proguard android-proguard

我在汇编发布时收到此错误:

  

警告:处理任务java.io.IOException时出现异常:无法写入[/ Users / tuanchauict / pw / Android / xrmovies / app / build / intermediates / transforms / proguard / prod / release / jars / 3 /1f/main.jar](不能阅读[/Users/tuanchauict/pw/Android/xrmovies/app/build/intermediates/classes/prod/release(;;;;;;;.class)] (重复的zip条目[android / support / v7 / a / a $ a.class == android / support / v7 / appcompat / R $ attr.class]))   :app:transformClassesAndResourcesWithProguardForProdRelease FAILED

这是堆栈跟踪:

Caused by: java.io.IOException: Can't write [/Users/tuanchauict/pw/Android/xrmovies/app/build/intermediates/transforms/proguard/prod/release/jars/3/1f/main.jar] (Can't read [/Users/tuanchauict/pw/Android/xrmovies/app/build/intermediates/classes/prod/release(;;;;;;**.class)] (Duplicate zip entry [android/support/v7/a/a$a.class == android/support/v7/appcompat/R$attr.class]))
        at proguard.OutputWriter.writeOutput(OutputWriter.java:187)
        at proguard.OutputWriter.execute(OutputWriter.java:79)
        at proguard.ProGuard.writeOutput(ProGuard.java:427)
        at proguard.ProGuard.execute(ProGuard.java:175)
        at com.android.build.gradle.internal.transforms.BaseProguardAction.runProguard(BaseProguardAction.java:54)
        at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:254)
        at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:63)
        at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:173)
        at com.android.builder.tasks.Job.runTask(Job.java:49)
        at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
        at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:223)
Caused by: java.io.IOException: Can't read [/Users/tuanchauict/pw/Android/xrmovies/app/build/intermediates/classes/prod/release(;;;;;;**.class)] (Duplicate zip entry [android/support/v7/a/a$a.class == android/support/v7/appcompat/R$attr.class])
        at proguard.InputReader.readInput(InputReader.java:188)
        at proguard.InputReader.readInput(InputReader.java:158)
        at proguard.OutputWriter.writeOutput(OutputWriter.java:176)
        ... 10 more
Caused by: java.io.IOException: Duplicate zip entry [android/support/v7/a/a$a.class == android/support/v7/appcompat/R$attr.class]
        at proguard.io.JarWriter.getOutputStream(JarWriter.java:138)
        at proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:105)
        at proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:105)
        at proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:92)
        at proguard.io.ClassRewriter.read(ClassRewriter.java:68)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
        at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
        at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:74)
        at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:74)
        at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:74)
        at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:74)
        at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:74)
        at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
        at proguard.InputReader.readInput(InputReader.java:184)
        ... 12 more


BUILD FAILED

我已经四处寻找,但这种情况无法解决。

我的依赖项:

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

compile 'com.google.android.gms:play-services-ads:10.0.1'
compile 'com.google.android.gms:play-services-analytics:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.1'
compile 'com.google.firebase:firebase-crash:10.0.1'

1 个答案:

答案 0 :(得分:0)

(代表OP发布)

我已经找到了问题的来源。我使用第三方库,它以某种方式包含来自支持库的R类。删除它,构建工作。