【问题标题】:Android Gradle Build: duplicate entry: META-INF/app_release.kotlin_moduleAndroid Gradle Build:重复条目:META-INF/app_release.kotlin_module
【发布时间】:2019-12-20 07:33:48
【问题描述】:

我正在尝试通过 Android Studio > Generate Signed Bundle or APK > Android App Bundle > Release 构建发布应用程序

但是 gradle 失败了

: > Task :core:transformClassesWithMergeClassesForRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':core:transformClassesWithMergeClassesForRelease'.
> 1 exception was raised by workers:
  java.util.zip.ZipException: duplicate entry: META-INF/app_release.kotlin_module

在我的build.gradle 中,我尝试添加:

    packagingOptions {
        exclude 'META-INF/app_release.kotlin_module'
    }

但这并没有任何区别。

我该如何解决这个问题?

对于额外的上下文,它是一个多模块项目。

我有一个core 模块和一个installed 模块,它在core build.gradledynamicFeatures = [":installed"] 中声明

谢谢

【问题讨论】:

  • 对不起,烦人的提示:尝试运行清洁项目

标签: android android-studio gradle android-gradle-plugin build.gradle


【解决方案1】:

所以我想通了。

我在 Android Studio 中按了两次 shift(打开到处搜索对话框)并搜索 app_release.kotlin_module

我看到了两个文件,它们位于我的两个依赖项下(很有趣的是我创建的库!)

我打开了这些库项目,在 build.gradle 文件中我必须添加:

ext {
    PUBLISH_GROUP_ID = 'com.companyname'
    PUBLISH_ARTIFACT_ID = 'packagename'
}

android {
    ...
    compileOptions {
            kotlinOptions.freeCompilerArgs += ['-module-name', "$PUBLISH_GROUP_ID.$PUBLISH_ARTIFACT_ID"]
    }
}

用新版本重建库项目,在我的另一个项目中使用这些新版本,它开始编译:)

【讨论】:

    【解决方案2】:

    请确保您的所有依赖项都是apiimplementation, 我有流动的依赖关系。

    meemo_sdk: api project(":gvoice")

    应用项目:
    实施项目(":gvoice") 实施项目("meemo_sdk")

    它抱怨“META-INF/gvoice_debug.kotlin_module”冲突。 将api改为implementation后,就可以了!

    【讨论】:

    • 将 api 更改为实施对我有用。
    【解决方案3】:

    我发现使用Android Studio 4.2.1和Java8随机出现同样的问题,我每次收到错误时通过删除项目中的.gradle文件(不是主要文件)成功解决。

    Java version: JDK8221
    Kotlin: 1.5.0
    AndroidStudio: 4.2.1
    

    不是最好的解决方案,但目前是一个很好的解决方法。

    【讨论】:

      【解决方案4】:

      Build -> Clean Project为我工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-13
        • 2017-10-07
        • 2016-10-01
        • 2017-01-29
        • 2022-12-03
        • 2021-08-18
        相关资源
        最近更新 更多