Android Studio - Gradle 实现 (...) { exclude ... } 不工作(无法从依赖项中排除组)

标签 android gradle build.gradle exoplayer geckoview

我在 Android Studio 中将以下两个库(ExoPlayerGeckoView)添加到我的 Android 应用中:

dependencies {
    ...
    implementation 'com.google.android.exoplayer:exoplayer:2.11.1'
    implementation ('org.mozilla.geckoview:geckoview-beta:73.0.20200109090448')
    ...
}

当我开始构建项目时,我意识到这些库在一起有冲突(Gradle Sync 成功):

Duplicate class com.google.android.exoplayer2.BaseRenderer found in modules jetified-exoplayer-core-2.11.1-runtime.jar (com.google.android.exoplayer:exoplayer-core:2.11.1) and jetified-geckoview-beta-73.0.2020...-runtime.jar (org.mozilla.geckoview:geckoview-beta:73.0.202001...)
Duplicate class com.google.android.exoplayer2.... found in modules jetified-exoplayer-core-2.11.1-runtime.jar (com.google.android.exoplayer:exoplayer-core:2.11.1) and jetified-geckoview-beta-73.0.2020...-runtime.jar (org.mozilla.geckoview:geckoview-beta:73.0.2020...)

我遇到了很多像上面这样的错误行。所以我决定从 GeckoView 中排除 ExoPlayer 组(因为我已经有了):

...
implementation ('org.mozilla.geckoview:geckoview-beta:73.0.20200109090448') {
    exclude group: 'com.google.android.exoplayer2', module: 'jetified-geckoview-beta-73.0.20200109090448-runtime.jar'
}
...

我再次同步(再次同步成功)并开始构建,但没有任何效果,错误又出现了。

我该怎么办?

最佳答案

从重复的消息来看,问题是在 geckoview-beta 找到了类运行时 jar 本身和 exoplayer jar 也是。

所以这不是传递冲突,而是geckoview-beta之间的直接冲突和 exoplayer .

您必须通过删除两个库之一或查找 geckoview-beta 的版本来解决此问题没有将类嵌入 com.google.android.exoplayer2包。

关于Android Studio - Gradle 实现 (...) { exclude ... } 不工作(无法从依赖项中排除组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59704150/

相关文章:

c# - Xamarin/C# 中的 Android FileObserver 示例?

像谷歌时钟中的 Android 日期选择器?

java - 使用方法引用定义 BroadcastReceiver.onReceive

spring - 包含的gradle构建中的Spring依赖管理

gradle - 在build.gradle中加载通用属性不适用于buildscript

java - 如何使Intellij处理build.gradle中引用的@NotNull批注

android - 单个 Activity 中的 slider 菜单两侧(右侧和左侧)

gradle - 属性 'mainClass'是最终的,不能再更改

java - springboot项目部署gradle : Execution failed for task ':deploytest'

android - 无法在以下类型的对象上找到参数 [com.android.tools.build :gradle:3. 3.0] 的方法 classpath():