You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成matrix:^0.22.3时加载libolm.so失败求助

解决方案:Matrix SDK加密初始化时找不到libolm.so的问题

针对你遇到的Error initializing encryption Invalid argument(s): Failed to load dynamic library 'libolm.so': dlopen failed: library "libolm.so" not found错误,以下是几个可行的修复步骤:

  • 手动引入olm预编译库
    olm是Matrix加密依赖的底层库,若SDK自动集成失败,可手动添加:

    1. 下载对应CPU架构的libolm.so文件(可从olm官方编译产物或可信渠道获取)
    2. 在Android项目的app/src/main/目录下创建jniLibs文件夹,再按架构分目录存放:
      app/src/main/jniLibs/armeabi-v7a/libolm.so
      app/src/main/jniLibs/arm64-v8a/libolm.so
      app/src/main/jniLibs/x86/libolm.so
      app/src/main/jniLibs/x86_64/libolm.so
      
    3. 在app/build.gradle的android块中确认jniLibs路径配置:
      android {
          sourceSets {
              main {
                  jniLibs.srcDirs = ['src/main/jniLibs']
              }
          }
      }
      
  • 调整Android构建的ABI过滤规则
    确保你的App构建包含设备对应的CPU架构,避免因架构不匹配导致库加载失败:
    在app/build.gradle的defaultConfig块中添加:

    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
    }
    
  • 彻底清理并重新构建依赖
    除了常规的Flutter清理命令,还要清理Android端的构建缓存:

    1. 执行命令:
      flutter clean
      cd android && ./gradlew clean
      cd .. && flutter pub get
      
    2. 重新运行项目:flutter run
  • 确认olm依赖版本匹配
    检查pubspec.yaml中是否间接依赖了正确版本的olm包,若没有,可手动添加适配matrix v0.22.3的olm依赖:

    dependencies:
      olm: ^3.2.14
    

    添加后执行flutter pub get重新拉取依赖

内容的提问来源于stack exchange,提问作者Ruban

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:03:27