Flutter集成ZegoCloud视频课堂遇libRoomkitDC.so缺失崩溃问题
解决Flutter集成ZegoCloud视频课堂时
libRoomkitDC.so找不到的问题 错误详情
应用启动时触发致命错误导致崩溃,核心错误信息:
java.lang.UnsatisfiedLinkError: dlopen failed: library "libRoomkitDC.so" not found
完整崩溃日志:
E/AndroidRuntime( 4629): FATAL EXCEPTION: main E/AndroidRuntime( 4629): Process: com.webbullindia.lms.ssa, PID: 4629 E/AndroidRuntime( 4629): java.lang.UnsatisfiedLinkError: dlopen failed: library "libRoomkitDC.so" not found E/AndroidRuntime( 4629): at java.lang.Runtime.loadLibrary0(Runtime.java:1077) E/AndroidRuntime( 4629): at java.lang.Runtime.loadLibrary0(Runtime.java:998) E/AndroidRuntime( 4629): at java.lang.System.loadLibrary(System.java:1661) E/AndroidRuntime( 4629): at com.zego.roomkitdc.RoomkitDCSDK.init(RoomkitDCSDK.java:6) E/AndroidRuntime( 4629): at com.zego.roomkitdc.RoomkitDCSDK.<init>(RoomkitDCSDK.java:74) E/AndroidRuntime( 4629): at com.zego.roomkitdc.RoomkitDCSDK.getInstance(RoomkitDCSDK.java:2) E/AndroidRuntime( 4629): at com.zego.roomkitdc.logger.ZegoRoomkitLogger.<init>(ZegoRoomkitLogger.java:2) E/AndroidRuntime( 4629): at com.zego.roomkitdc.logger.ZegoRoomkitLogger.getInstance(ZegoRoomkitLogger.java:2) E/AndroidRuntime( 4629): at im.zego.roomkitcore.Logger.Logger.i(Logger.java:1) E/AndroidRuntime( 4629): at im.zego.roomkitcore.v0.ZLMeetingManager.e(ZLMeetingManager.java:1) E/AndroidRuntime( 4629): at im.zego.roomkitcore.v0.ZLMeetingManager.<init>(ZLMeetingManager.java:9) E/AndroidRuntime( 4629): at im.zego.roomkitcore.v0.ZLSDK.b(ZLSDK.java:2) E/AndroidRuntime( 4629): at im.zego.roomkitcore.service.ZegoRoomService.<init>(ZegoRoomService.java:456) E/AndroidRuntime( 4629): at im.zego.roomkitcore.service.ZegoRoomKitCoreManager.<clinit>(ZegoRoomKitCoreManager.java:1) E/AndroidRuntime( 4629): at im.zego.roomkitcore.service.ZegoRoomKitCoreManager.init(ZegoRoomKitCoreManager.java:1) E/AndroidRuntime( 4629): at im.zego.roomkit.service.ZegoRoomKit.init(ZegoRoomKit.kt:67) E/AndroidRuntime( 4629): at com.lms.students.ssa.RoomKitPlugin.init(RoomKitPlugin.kt:20) E/AndroidRuntime( 4629): at com.lms.students.ssa.MainActivity.configureFlutterEngine$lambda-0(MainActivity.kt:20) E/AndroidRuntime( 4629): at com.lms.students.ssa.MainActivity.$r8$lambda$djU0VNIj3E39ONTA0IvnPUW3BfY(Unknown Source:0) E/AndroidRuntime( 4629): at com.lms.students.ssa.MainActivity$$ExternalSyntheticLambda0.onMethodCall(Unknown Source:4) E/AndroidRuntime( 4629): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) E/AndroidRuntime( 4629): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/AndroidRuntime( 4629): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/AndroidRuntime( 4629): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/AndroidRuntime( 4629): at android.os.Handler.handleCallback(Handler.java:942) E/AndroidRuntime( 4629): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 4629): at android.os.Looper.loopOnce(Looper.java:201) E/AndroidRuntime( 4629): at android.os.Looper.loop(Looper.java:288) E/AndroidRuntime( 4629): at android.app.ActivityThread.main(ActivityThread.java:7898) E/AndroidRuntime( 4629): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime( 4629): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) E/AndroidRuntime( 4629): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
解决步骤
检查依赖与ABI配置
- 确认
pubspec.yaml中Zego相关依赖(如zego_roomkit)版本正确,执行flutter pub get确保依赖下载完整。 - 打开
android/app/build.gradle,在defaultConfig下添加NDK架构过滤,确保包含Zego库支持的架构:android { defaultConfig { ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' } } }
- 确认
清理重建项目
- 执行
flutter clean清除Flutter缓存。 - 删除
android/.gradle和android/app/build目录。 - 重新运行
flutter run,或在Android Studio中执行Clean Project再Rebuild Project。
- 执行
验证Native库是否存在
编译项目后,查看android/app/build/intermediates/merged_native_libs/debug/out/lib目录,检查对应架构子目录下是否有libRoomkitDC.so文件。如果缺失,说明依赖拉取失败,需重新添加依赖或检查Zego Maven仓库配置是否正确。确认初始化时机
确保ZegoRoomKit的初始化代码在Flutter引擎完全初始化后执行,避免在应用启动早期调用初始化方法导致库加载失败。检查权限配置
在AndroidManifest.xml中添加必要权限,避免后续连锁错误:<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/>
内容的提问来源于stack exchange,提问作者Sagar Singh
相关产品推荐
相关产品推荐

