今天在开发过程中遇到这样一个错误,贴一下错误Log:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/multidex/BinderTheead$V4.clas
重点在Log的后半部分finished with non-zero exit value 2.
很明显,这里表明了有重复的内容存在,后来检查jar包,发现没有重复的jar啊.问题就在这里.
这个问题的关键在后半段,那个事重复的包内的类名,我是不可能记住每一个jar里面有什么class文件的,所以用的搜索在Android Studio的右上角那个放大镜就是(快捷方式Ctrl+e)然后输入重复的类名,如图:
前半段英文的意思的代码使用重复后半段是重复的class文件路径。通过上面的方法知道了是v4包和annotions-24.1.1包重复了那么你要选择删除一个。当然如果你的包里有META-INF且下面有你重复的文件。就按照如下来写就可以。
packagingOptions { exclude 'META-INFTICE.txt' exclude 'META-INF/maven/data.domybox.com/data.sdk/pom.properties' exclude 'META-INF/maven/data.domybox.com/data.sdk/pom.xml' exclude 'META-INF/LICENSE.txt' }
切记一定要把引用的包删除,否则运行项目的时候还是会报错!