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

Posted

技术标签:

【中文标题】Android Studio - Gradle 实现 (...) exclude ... 不起作用(无法从依赖项中排除组)【英文标题】:Android Studio - Gradle implementation (...) exclude ... not working (Can't exclude a group from a dependency)Android Studio - Gradle 实现 (...) exclude ... 不起作用(无法从依赖项中排除组) 【发布时间】:2020-04-29 10:19:33 【问题描述】:

我已将以下两个库(ExoPlayerGeckoView)添加到我在 android Studio 中的 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'

...

我再次同步(再次同步成功)并开始构建,但没有效果,错误再次发生。

我该怎么办?

【问题讨论】:

嘿,这有什么更新吗?我偶然发现了同样的问题哈哈 【参考方案1】:

从重复的消息中,问题是在geckoview-beta 运行时 jar 本身和 exoplayer jar 中找到了这些类。 p>

所以这不是传递的冲突,而是geckoview-betaexoplayer之间的直接冲突。

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

【讨论】:

我无法降级 GeckoView 或删除两个库之一。还有其他方法吗?

以上是关于Android Studio - Gradle 实现 (...) exclude ... 不起作用(无法从依赖项中排除组)的主要内容,如果未能解决你的问题,请参考以下文章

android studio怎么设置gradle版本

如何建立与 Android studio和 gradle android 库

android studio怎样配置gradle本地路径

android studio Gradle升级到3.5.0遇到的坑

android Studio 降级gradle

android studio怎么配置gradle