集成Zoom Video SDK遇libc++_shared.so缺失错误,求解决方案
针对你使用flutter_zoom_videosdk: ^1.11.2时出现的java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found错误,尝试以下方案:
强制指定ABI架构
在Android项目的app/build.gradle的android/defaultConfig块中添加NDK架构过滤:ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' }Zoom官方SDK仅支持这两种主流ARM架构,过滤后可避免生成不兼容的ABI包导致库缺失。
手动引入
libc++_shared.so- 从Android NDK包(对应项目使用的NDK版本)或Zoom官方Android SDK的aar包中提取对应架构的
libc++_shared.so文件 - 在
app/src/main/下新建jniLibs目录,再分别创建armeabi-v7a和arm64-v8a子目录,将对应架构的库文件放入其中
- 从Android NDK包(对应项目使用的NDK版本)或Zoom官方Android SDK的aar包中提取对应架构的
排查依赖冲突
若项目中其他依赖也使用了libc++_shared.so,可能存在版本冲突。在app/build.gradle的configurations中添加策略:configurations.all { resolutionStrategy.preferProjectModules() }或者针对冲突依赖排除对应库(替换为实际冲突的依赖信息):
implementation('第三方依赖坐标') { exclude module: 'libc++_shared' }清理重建项目
执行以下命令彻底清除缓存并重新构建:flutter clean flutter pub get cd android && ./gradlew clean assembleDebug调整SDK初始化时机
确保FlutterZoomVideoSdkPlugin.initSdk是最早执行的Native库加载操作,避免其他第三方库的加载流程干扰Zoom SDK的库加载。
内容的提问来源于stack exchange,提问作者Nikunj Ramani
相关产品推荐
相关产品推荐

