Android编译问题:java.util.zip.ZipException:duplicate entry...

Android引入库版本不一致出现的重复问题导致编译失败

这里写图片描述

如图,此类问题多是由于当前工程引入了某个库(记为A)的一个版本,然后当前工程引入的其他库中又引用了A库的另一个版本,从而导致的编译不通过。这种问题,关键是在找到具体是哪个库中嵌套引用了A库。

解决方法:

1、Build -> Clean Project
   很多时候库冲突仅仅是因为,上次编译的缓存没有清除,所以提示存在版本不一样的两个库。这种就只需要Clean工程后再运行即可。
  假若仍提示duplicate,则继续往下。
2、 寻找具体是哪个库中嵌套引用了A库。
  AndroidStudio点击右边的Gradle -> 主moudle -> Tasks -> android -> androidDependencies
  如图:
   这里写图片描述

  从而生成库的依赖日志,在日志中查看A库具体的引用之处(记为库B),即可找到冲突的原因所在。依赖日志例子如下图:

   这里写图片描述

3、在步骤2中找到了重复引用处后,即可采用以下方案解决:

  1. ) 查看B库是否需要更新,可能B库更新后,其内部引用的A库版本号和当前项目的A库就相同了。
  2. ) 或者在B库引用处添加 exclude 将A库exclude掉。例如:

debugCompile(‘com.xxx.xxxxxxxxxx’) {
  exclude group: ‘com.facebook.android’
  exclude group: “com.android.support”
  exclude group: “com.android.volley”
}

猜你喜欢

转载自blog.csdn.net/kiddingboy_wjj/article/details/80433937