在我的Android项目中,我有两个依赖WebRTC的库。两个库都强有力地包含了WebRTC。两个图书馆都没有重命名WebRTC库(尽管有自定义)。两位开发人员都坚持认为WebRTC必须以这种方式被强制包含(我对此非常怀疑)。
如何解决此依赖冲突?
我已经尝试过如下所述的解决方案:
https://medium.com/mindorks/avoiding-conflicts-in-android-gradle-dependencies-28e4200ca235
但这特别需要依赖关系是可传递的。在我的案例中哪些硬包含的库不是。如果我致电gradlew dependencies
,WebRTC甚至不会出现在该列表中。但是在编译时,我得到的错误如Multiple dex files define Lorg/webrtc/VideoFileRenderer$2;
其中" VideoFileRenderer"每次编译时都是与org.webrtc不同的文件。清理构建树或缓存没有解决任何问题。
有问题的图书馆是:
两个库从不在运行时同时使用。我只需要在编译时包含两者。此外,每个用户仅在注册时进行一次视频通话以识别自己。
答案 0 :(得分:0)
排除其中一个的WebRTC
从我的项目中排除的一个示例(显然更改了lib的名称)
compile('io.socket:socket.io-client:0.9.0') {
// excluding org.json which is provided by Android
exclude group: 'org.json', module: 'json'
}