我在Android Studio中的Android应用程序中添加了以下两个库(ExoPlayer
和GeckoView
):
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...)
我遇到了很多类似上面的错误。所以我决定从
ExoPlayer
中排除GeckoView
组(因为我已经有了):...
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
版本来解决此问题。