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 【问题描述】:我已将以下两个库(ExoPlayer
和 GeckoView
)添加到我在 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-beta
和exoplayer
之间的直接冲突。
您必须通过删除两个库之一或查找未将类嵌入com.google.android.exoplayer2
包中的geckoview-beta
版本来解决此问题。
【讨论】:
我无法降级 GeckoView 或删除两个库之一。还有其他方法吗?以上是关于Android Studio - Gradle 实现 (...) exclude ... 不起作用(无法从依赖项中排除组)的主要内容,如果未能解决你的问题,请参考以下文章
如何建立与 Android studio和 gradle android 库