使用apache / http库构建APK冲突

时间:2017-03-23 13:35:49

标签: java android android-gradle build.gradle

我可以使用 USB 在设备上运行我的应用程序,但是当我尝试构建 APK 时,它会测量此错误:

  

错误:任务':app:transformClassesWithJarMergingForDebug'的执行失败。   com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:org / apache / http / HttpHeaders.class

我的朋友:

{{1}}

1 个答案:

答案 0 :(得分:2)

旧版Apache HTTP

您正在将Apache HTTP版本与您的应用捆绑在一起。从所有模块“build.gradle

中删除此行
useLibrary 'org.apache.http.legacy'

在幕后,该方法实际上包含旧版Apache HTTP的JAR,如果您通过Gradle / maven管理依赖项,那么这不是您想要的。

匹配版本

来自Apache HTTP的所有导入工件都必须具有相同的版本。

compile 'org.apache.httpcomponents:httpmime:4.5.3'
compile 'org.apache.httpcomponents:httpclient-android:4.5.3'

好吧,httpcore不遵循这个标准,然后再次认为它是内部传递依赖,适当的版本会由您使用的任何版本的httpclient自动提取。您不必手动指定它。

maven中的Apache HTTP工件列表:https://mvnrepository.com/artifact/org.apache.httpcomponents