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

求助:如何构建无错误FluffyChat Android APK?遇CMake及libolm.so报错

解决FluffyChat Android构建时flutter_olm的libolm.so编译失败问题

可行解决方案

1. 匹配Android NDK版本

flutter_olm对NDK版本有严格要求,推荐使用NDK 25.2.9519653:

  • 打开Android Studio的SDK Manager,切换到SDK Tools标签
  • 勾选「Show Package Details」,找到「Android NDK (Side by side)」选择对应版本安装
  • 在项目的android/local.properties中添加ndk.dir=/你的NDK安装路径/25.2.9519653(替换为实际路径)

2. 彻底清理缓存后重构

执行以下命令清除所有缓存文件,再重新构建:

flutter clean
rm -rf android/.gradle android/app/build
flutter pub get
cd android && ./gradlew clean && cd ..
flutter build apk --release

3. 修正flutter_olm的CMake配置

找到flutter_olm模块的CMakeLists.txt(路径通常是~/.pub-cache/hosted/pub.dartlang.org/flutter_olm-<版本号>/android/CMakeLists.txt,如果是项目本地依赖则在packages/flutter_olm/android/下),添加以下配置确保拉取兼容的olm源码:

set(OLM_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/olm)
if(NOT EXISTS ${OLM_SOURCE_DIR})
    execute_process(COMMAND git clone https://gitlab.matrix.org/matrix-org/olm.git ${OLM_SOURCE_DIR})
    execute_process(COMMAND git checkout 3.2.12 WORKING_DIRECTORY ${OLM_SOURCE_DIR})
endif()

修改后重新同步项目并构建

4. 排除本地libolm的干扰

你本地安装的libolm3是桌面环境版本,Android构建需要交叉编译版本:

  • 检查并移除系统中可能存在的OLM_DIR等相关环境变量
  • 确保构建时不会调用本地安装的libolm

5. 拉取完整子模块

FluffyChat依赖olm子模块,执行以下命令拉取所有依赖子模块:

git submodule update --init --recursive

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:55:22