WebRTC/MediaSoup库与Gradle构建版本冲突

vxqlmq5t  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(198)

我试图在我的应用程序中同时使用MediaSoup和WebRTC库。单独使用它可以完美地工作,但当试图在同一个项目中添加这两个库时,我遇到了一些冲突。
它要么:
1.我在我的项目中添加了mediasoup('org.mediasoup.droid:mediasoup-client:3.0.8-beta-3')和webRTC('org.webrtc:google-webrtc:1.0.32006'),我可以同步我的gradle。但是当我尝试构建项目时,我收到一个错误,说我得到了很多重复的类,如下所示:Duplicate class org.webrtc.AndroidVideoDecoder found in modules jetified-google-webrtc-1.0.32006-runtime.jar (org.webrtc:google-webrtc:1.0.32006) and jetified-mediasoup-client-3.0.8-beta-3-runtime.jar (org.mediasoup.droid:mediasoup-client:3.0.8-beta-3)
1.我只添加WebRTC库:不可能使用MediaSoup,所以不是一个解决方案
1.我只添加MediaSoup。到目前为止,我可以编译甚至构建我的应用程序,但它在我使用WebRTC的第一条语句时崩溃,在:PeerConnectionFactory.initialize()AS告诉我未找到本机库:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file ".../base.apk"],nativeLibraryDirectories=[/data/app/dev.arvuz-fuhAdJV_sT2-PQyEHP0vxg==/lib/arm64, /data/app/dev.arvuz-fuhAdJV_sT2-PQyEHP0vxg==/base.apk!/lib/arm64-v8a, /system/lib64]]] couldn't find "libjingle_peerconnection_so.so"
所以,这就是我遇到的问题。如何(有可能吗?)在Android上将WebRTC与MediaSoup库结合使用?我尝试在Gradle文件中排除一些WebRTC模块,但没有任何效果。

ar7v8xwq

ar7v8xwq1#

有可能MediaSoup和webRTC依赖项在后台使用了同一库代码的不同版本。当JVM tries to lookup使用了一些只在其中一个版本中存在的本地方法时,这些不同版本的名称空间可能会在运行时发生冲突。如果是这种情况,您必须使用共享同一库版本的MediaSoup和webRTC版本。

相关问题