在APK Android中复制的重复文件 - 可以合并吗?

cha*_*ghe 5 android gradle android-studio build.gradle

在我的android项目中,我将两个库作为JAR包含在libs文件夹中.我将它们添加到构建Gradle中,如下所示.

dependencies {
    compile files('libs/siddhi-core-4.0.0-M13-SNAPSHOT.jar')
    compile files('libs/siddhi-execution-math-4.0.2-SNAPSHOT.jar')
}
Run Code Online (Sandbox Code Playgroud)

这两个jar文件有一个同名的文件("org.wso2.siddhi.annotation.Extension"),但内容不同.这两个文件对项目都很重要.由于它具有相同的名称gradle不会建立说法

Duplicate files copied in APK
Run Code Online (Sandbox Code Playgroud)

如何将这两个文件合并为一个具有相同名称的文件?这两个文件是带有类名列表的文本文件.在两个文件中,它们有两个不同的列表.所以我想将它们合并到一个具有相同名称的文本文件中的列表中.

在此输入图像描述

cha*_*ghe 4

最后我找到了答案。在应用程序构建 gradle 中,您可以指定合并冲突的文件。

packagingOptions {         
    merge 'META-INF/annotations/org.wso2.siddhi.annotation.Extension'
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此处https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html