关于android Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.的解决方法

关于android studio的build.gradle里面添加库的时候,经常会碰到这道的报错,

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/http/ConnectionClosedException.class

这个是在我们启动的时候报错的,而不是在编译的时候,原因是这样的,报这个错是因为有2个库中存在相同的类。大家可以看到stackoverflow上有人也提了这样的问题,

关于android Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.的解决方法_第1张图片

这个是下面人的回答:
关于android Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.的解决方法_第2张图片

他们说是因为有2个相同的文件,但是不知道怎么排除,我运气比较好,知道是因为自己加了个库org.apache.http.legacy.jar(android sdk 23以后,不支持apache了,所以加这个库),这个库和httpmime冲突了,但是我加httpmime只是为了得到这2个类

import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

于是我将httpmime换成了android-async-http-1.4.6.jar,就成功了。
特将此问题记录!

另外stackoverflow上也有人提供了另外一种方法:
关于android Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.的解决方法_第3张图片

但是我不知道这个该怎么操作。

参考文档:
http://stackoverflow.com/questions/34088649/errorexecution-failed-for-task-apptransformclasseswithjarmergingfordebug-d

http://stackoverflow.com/questions/33209631/errorexecution-failed-for-task-apptransformclasseswithjarmergingfordebug

你可能感兴趣的:(【Android常用知识点】)