抛出:ZipException:重复上科特林类条目

问题描述 投票:9回答:3

请注意,这个项目升级至Android 3.1工作室,摇篮构建工具3.1.0和摇篮包装4.4之前编译成功。

在摇篮任务transformClassesAndResourcesWithPrepareIntermediateJarsForSomethingDebug期间发生异常:

Caused by: java.util.zip.ZipException: duplicate entry: com/me/utils/model/singleModel/NodeModel.class

请注意,例外只发生在科特林类(比如节点模型上图)。如果我删除这个类,将发生在第二天科特林类除外。

所有对SO提及此异常的其他问题进行了某种联系,从项目的依赖内复制第三方库。然而,这不是我的情况下,节点模型,是我写我自己的自定义类。它实际上只是一个简单的科特林数据类。

该项目采用科特林版本1.2.30,构建工具27.0.3,支持库27.1.0和12.0.1火力地堡。

我试图清理并重建项目好几次,我的本地JDK和嵌入一个变化之间,没有什么工作。

我试图以与--stacktrace --debug运行摇篮找出是从哪里来的重复,但摇篮日志没有提到任何有关。

android android-gradle android-studio-3.1
3个回答
4
投票

更新答案

即使有解决方法如下所述,我仍然得到偶尔的例外。现在,Android Studio中3.1.1已经发布,这个问题已经完全消失。只要确保也更新到摇篮构建工具的3.1.1版本,至少版本的摇篮包装的4.4:

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

在该项目的build.gradle

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        ...
    }
}

最初的回答

增加摇篮包装版本4.6固定它的我,但只是暂时的。唯一的例外第二天再次发生。

唯一的工作解决我发现到目前为止是降级的摇篮包装回4.3.1,和摇篮建立工具3.0.0,直到摇篮的一个新的稳定版本的构建工具可用。

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-all.zip

在该项目的build.gradle

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        ...
    }
}

0
投票

我有同样的问题,只是修改先前已编译的文件(干净的构建会工作),当它不是为我工作。从3.1.3改变Android的摇篮插件到3.2.0-beta02解决了这个对我来说。


-1
投票

与在单独的模块分割java和科特林源解决问题。不要在一个模块中混合使用Java和科特林。它创造了约重复一些奇怪的错误,即使我只有一个类

© www.soinside.com 2019 - 2024. All rights reserved.