在android studio开发中,常常会引入V4包,引用其中的类。但是我们新建项目为了支持高版本的SDK,引入了高版本的包。导致和V4包中的很多类冲突。不能正常运行应用。网上有很多是查找冲突的包或者是类名,删除掉整个冲突文件。这样做的弊端是导致其他引用此高版本的包工程缺少包报错无法运行或者是重新下载缺失的包。或者是有其他人加入此项目的时候,这样的过程又要重新做一遍。导致人力和时间的浪费。现在介绍如下方法,可以解决这样的问题:
1.出现这样的报错后,从这里看不出任何冲突的问题;
2. 打开 gradle consonle, 找到如下圈圈所示位置(Run with –stacktrace),然后点击
这里可以看到gradle失败的具体原因,Multiple dex files…. 显然是由于同一个文件在多个jar中出现,典型的jar冲突问题,
那该类具体是在哪几个jar中被引用了呢?