因项目需求先接入了腾讯云直播功能,后期加入tim聊天的tuikit库时遇到一些问题。
首先查看一下我们接入腾讯云时依赖的库:
implementation 'com.tencent.liteav:LiteAVSDK_Professional:latest.release'
当前这个时专业版,内容比较全。推荐这个。
tuikit库里面默认接入了:
implementation 'com.tencent.liteav:LiteAVSDK_TRTC:latest.release'
这两个会冲突的。换成LiteAVSDK_Professional的,这个功能比较齐全。
然后build就会发现提示错误:
More than one file was found with OS independent path 'lib/armeabi/libijksdl.so'
不要慌,那是因为两个包都引用了相同的库原因。
我们打开app下的build,在android中加入:
//因为主项目依赖的腾讯云专业版SDK和tuikit库里面的冲突了所以需要这里压制
packagingOptions {
pickFirst 'lib/armeabi-v7a/libijksdl.so'
pickFirst 'lib/armeabi-v7a/libijkplayer.so'
pickFirst 'lib/armeabi-v7a/libijkffmpeg.so'
pickFirst 'lib/arm64-v8a/libijksdl.so'
pickFirst 'lib/arm64-v8a/libijkplayer.so'
pickFirst 'lib/arm64-v8a/libijkffmpeg.so'
pickFirst 'lib/x86/libijksdl.so'
pickFirst 'lib/x86/libijkplayer.so'
pickFirst 'lib/x86/libijkffmpeg.so'
pickFirst 'lib/x86_64/libijksdl.so'
pickFirst 'lib/x86_64/libijkplayer.so'
pickFirst 'lib/x86_64/libijkffmpeg.so'
}
理论情况是报哪个错就压制哪个,为了方便我直接给出全部。
最后注意一下app中接入的tim版本和tuikit库中的tim版本一致。
然后就好了。
网友评论