Android Build Error:DuplicateFileException

时间:2017-08-05 17:33:48

标签: android build jackson build.gradle

在我新创建的Android项目中,我使用了Jackson JSON / XML解析器库。问题是,在尝试构建时。我得到了这个例外:

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE

问题是该库由三个JAR组成,每个JAR包含自己的许可证文件,并且每个JAR都命名为“LICENSE”,因此出现错误。见图:

three jars

现在我已经研究了如何修复它,并且有很多关于这个确切问题的StackOverflow问题,但是它们都只提供了从包装中排除LICENSE文件的解决方案:     packagingOptions {         排除'META-INF / LICENSE'     } (或者,使用“pickFirst”而不是“exclude”)

我对此解决方案的问题是,我认为在运送APK中,许可证不得丢失,否则我可能会遇到法律问题。有没有其他解决方案(比如强制重命名为LICENSE-1或其他)?

1 个答案:

答案 0 :(得分:1)

更改您的app build.gradle:

android {
    ...
    packagingOptions {
        exclude 'META-INF/LICENSE' // add this
    }
}

将唯一许可证放入资产并创建显示所有许可证的视图