【问题标题】:Error: android defines classes that conflict with classes now provided by Android , when we start to generate release build错误:当我们开始生成发布构建时,android定义的类与Android现在提供的类冲突
【发布时间】:2018-10-22 04:16:15
【问题描述】:

我遇到了几个库冲突问题。我通过添加解决了

配置{

all {
    exclude module: 'httpclient'
    exclude module: 'commons-logging'
    exclude group: 'org.json', module: 'json'
    exclude group: 'org.apache.httpcomponents'
    exclude module: 'xmlParserAPIs'
    exclude module: 'xpp3'
    exclude module: 'opengl-api'
}

}

但仍然存在以下错误。而且我无法构建签名的apk。 我已经尝试过项目清理/重建选项。

错误:android 定义的类与现在由 Android 提供的类冲突。解决方案包括查找没有相同问题的较新版本或替代库(例如,对于 httpclient,请改用 HttpUrlConnection 或 okhttp),或使用 jarjar 之类的东西重新打包库。 [重复平台类]

提前感谢您的帮助。

【问题讨论】:

  • 你能发布你的完整 build.gradle。
  • 那么你是如何解决这个问题的?
  • 在 gradlew 依赖项的帮助下,我找到了所有库,这些库正在产生冲突。因为某些库具有其他库的内部依赖性。所以我在我的 build.gradle 文件中排除了库。干净的代码之后。它有效。

标签: android android-layout android-studio gradle build.gradle


【解决方案1】:

问题

如何查看哪个依赖项造成了冲突。就像在黑暗中拍摄一样。

解决方案

一些 AS 插件会告诉你哪些项目的依赖层次。您可以找到问题的确切位置并解决它。

Gradle View 是一个 Android Studio 插件,您可以安装并显示依赖层次结构。

Methods Count 是另一个插件,它也显示依赖树。

【讨论】:

  • 在 gradlew 依赖项的帮助下,我找到了我需要排除的所有库。
【解决方案2】:

错误可能来自不同的模块,但如果问题是 httpcomp... 或 xpp3 那么 我只是在 app Gradle 中添加这些代码行

dependencies {
......
  configurations {
        all*.exclude group: 'xpp3', module: 'xpp3'
        implementation.exclude group: "org.apache.httpcomponents", module: "httpclient"
    }
}

完成

【讨论】:

  • 太棒了。它构建成功。我将这部分放在“app\build.gradle”中。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
相关资源
最近更新 更多