gpt4 book ai didi

android - 打包程序 ZipException "duplicate entry"

转载 作者:太空宇宙 更新时间:2023-11-03 10:36:00 25 4
gpt4 key购买 nike

我正在构建一个项目,其中有两个类(A 和 B)都继承自 BaseClass。 A 和 B 两个类都有 @Parceler 注释。当我为操作系统版本 4.1.2 (API 16) 的手机构建它时,它给了我这个错误:

Execution failed for task ':app:transformClassesWithJarMergingForDebug'.  
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
com/example/BaseClass$$PackageHelper.class

如果我用 Nougat 为手机构建它,没有问题。

我读过有关使用 parcelsIndex 的信息,但 Parceler 不支持我使用的版本 - 1.1.8。

是否有解决此问题的方法?

最佳答案

此错误是因为您对同一个库使用了 2 个依赖项,但依赖项的版本不同。

对于您的情况,我需要更多数据,但我将举一个似乎可以解释您的问题的示例:假设您的项目使用库 x,而库 x 使用依赖项:编译“com.android.support:appcompat-v7:25.3.0”

这就是你的 gradle 的样子:

apply plugin: 'com.android.application'

android {
...
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')

compile "com.company.library_x:+"
compile "com.android.support:appcompat-v7:23.4.0"
}

事情是这样的,因为您使用的是相同的依赖项 library_x 并且您在依赖项中存在冲突,因为您正在导入版本 23.4.0 和库正在使用版本 25.3.0。当你构建一个项目时,所有的依赖项都被获取并“下载”,在这种情况下,你已经下载了同一个库的两个版本并且你有重复的条目。您没有太多选择,但要使用 library_x 使用的相同版本,这意味着在您的情况下,使用最新版本构建您的项目。

Fyi,更多信息:在 build->intermediates->exploded-aar->appcompat-v7->25.3.0->...class_of_the_error.class 下,您实际上可以看到该值这导致了问题。

关于android - 打包程序 ZipException "duplicate entry",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44714362/

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