我在 Android Studio 中将以下两个库(ExoPlayer
和 GeckoView
)添加到我的 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/