gpt4 book ai didi

android - Gradle 将重复文件放入 apk 文件中

转载 作者:IT老高 更新时间:2023-10-28 23:07:35 26 4
gpt4 key购买 nike

我使用的是 gradle 1.10,android 插件的版本是 0.8.0。我的 android 项目需要这两个 jar:jackson-core-asl-1.9.11.jarjackson-mapper-asl-1.9.11.jar。我这样添加文件:

dependencies {
compile files('libs/jackson-core-asl-1.9.11.jar')
compile files('libs/jackson-mapper-asl-1.9.11.jar')
}

在 gradle 构建期间,我收到一条错误消息,指出这两个文件在 META-INF/ASL2.0 中重复。我通过排除以下文件解决了这个问题:

packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
}

我必须排除所有这些,因为它们显然都有一个重复的文件。

我想知道为什么会出现这个问题。它是android插件的错误还是gradle本身的错误?排除上述文件会导致任何问题吗?我只是排除了上述 jar ,还是那些 META-INF 文件中还有其他内容?我不想排除我的项目需要的任何东西

最佳答案

首先,这不是 gradle 的错误。它发生在 MergeJavaResourcesTransform 任务中: enter image description here

enter image description here

众所周知,APK只是一个zip文件,所以当将META-INFO/xxx放入zip文件时,如果之前已经添加过文件,我们不能再次放入。

并且 META-INFO 文件没有合并规则,所以我们只能添加名称为 NOTICE 等的文件

enter image description here

关于android - Gradle 将重复文件放入 apk 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com