android - Gradle:处理任务java.io.IOException时发生异常 “Can'读取为“ “Can'写入为” “Duplicate zip entry”

标签 android android-studio gradle android-gradle-plugin

我正在尝试将新的SDK集成到我的应用中。问题是编译时我收到此错误:

Warning:Exception while processing task java.io.IOException: Can't write [C:\dev\ws\cp-android-v3\app\build\intermediates\transforms\proguard\debug\0.jar] 
(Can't read [C:\Users\name\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.3.5\9783d89b8eea20a517a4afc5f979bd2882b54c44\httpclient-4.3.5.jar(;;;;;;**.class)] 
(Duplicate zip entry [httpclient-4.3.5.jar:org/apache/http/impl/cookie/IgnoreSpecFactory.class]))

我不知道这是什么产生的以及如何解决它。

最佳答案

您的新库包含一个项目(org/apache/http/impl/cookie/IgnoreSpecFactory.class),该类已经在您项目的现有库中找到,但版本不同。构建过程不知道哪个库应具有优先权,因此它是重复的。

如果两个库都不支持此类的通用版本,则在集成新库时可能会遇到问题。

如果您考虑在启用“调试”或“显示依赖项”的情况下运行构建,则应该能够找到冲突。

然后寻找一种从一个库中排除该类的方法。有许多种方法可以排除类,包括某些具有不同版本的库会去除其他库依赖项,或者使用诸如“exclude”之类的关键字作为依赖项。

关于android - Gradle:处理任务java.io.IOException时发生异常 “Can'读取为“ “Can'写入为” “Duplicate zip entry”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48702154/

相关文章:

android - 在扩展用于 MenuItem ActionView 的布局时,我应该为 root 传递什么?

c# - 从Unity3D代码启动android服务

android - “Open Existing Android Studio Project”选项在新安装的Android Studio中不起作用

android - 如何在命令行中为新的 Android 项目构建 gradle

exception - org.gradle.api.internal.tasks.testing.TestSuiteExecutionException : Could not start process 'Gradle Test Executor 1'

java - API 级别 15 的印地语字体(又名 Android 4.0.2)

android - Android 中的表格布局问题?

java - Android Studio 中的 Google Talkback 构建

android - 屏幕上的应用程序优先级

gradle - 如何构建 Gradle 构建以允许构建相互依赖的库