Android打包出现的Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'问题解决

今天在项目打包的时候出现这个问题,在项目运行的时候没有出现任何异常,但是在打正式包的时候出现了这个问题,这

个问题就是我们在依赖第三方包的时候出现的依赖包重复的问题:报错如下:

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/zxing/aztec/AztecDetectorResult.class

下面开始进行解决:

1:双击Shift搜索报错的AztecDetectorResult.class这个类,然后看到有两个库中包含同一个类,其实是两个库中都包含了通一个

如下com.google.zxing的包引用了两个,这就直接导致打正式包的时候出现问题。但是运行的时候就不会有问题。

2:我们看到,在引用cn.yipianfengye.android:zxing-library-22这个库的主要功能就是使用Zxing,和它冲突的这下面的这个

依赖就是Zxing 的核心库:

//扫码
implementation 'com.google.zxing:core:3.3.0'

3:删除下面这个库:

compile 'cn.yipianfengye.android:zxing-library:2.2'//这个库和官方的zxing的库是有冲突的

4:clean 一下项目重新打包就可以了。

*********************************************分割线*****************************************************

上面的问题只能解决简单的这种重复依赖,比如两个依赖都有不同的功能,而且没有包含关系的时候怎么解决呢?

1:在AS中,选择以project显示项目,找到最下面的External Libraries,然后继续找,找到相对应的类库

打开pom.xml这个文件:

2:在这个文件中找到如下:

<parent>
  <groupId>com.google.zxing</groupId>
  <artifactId>zxing-parent</artifactId>
  <version>3.3.2</version>
</parent>

对!就是com.google.zxing这个包导致的重复

3:找到引用闭包的地方添加如下,把groupId添加如下:

//扫码
implementation ('xxx这是你引用的两个依赖中的其中一个依赖名xxx'){exclude group: 'com.google.zxing'}

4:clean一下项目重新运行一般就可以了

发布了116 篇原创文章 · 获赞 165 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_42618969/article/details/100770813