当前位置: 首页 > news >正文

阿里的MNN源码如何编译成so文件,供Android调用

在Ubtuntu下面的编译,先整理编译环境

1、安装环境依赖

# 安装必要工具

sudo apt update

sudo apt install -y cmake ninja-build git wget

# 安装Android NDK(建议使用r21版本或更高)

wget https://dl.google.com/android/repository/android-ndk-r25b-linux.zip

unzip android-ndk-r25b-linux.zip

export ANDROID_NDK_HOME=$PWD/android-ndk-r25b

2、再下载源码

git clone https://github.com/alibaba/MNN.git

cd MNN

3、编译

mkdir build && cd build

# 基础编译配置(armeabi-v7a架构,启用NEON优化,关闭GPU)

cmake .. \

-DMNN_BUILD_FOR_ANDROID=ON \

-DANDROID_ABI=armeabi-v7a \

-DMNN_USE_NEON=ON \

-DMNN_USE_OPENCL=OFF \

-DMNN_USE_CUDA=OFF \

-DMNN_USE_METAL=OFF \

-DMNN_BUILD_MINI=OFF \

-G Ninja

可选参数说明

  • -DMNN_USE_OPENCL=ON:启用 GPU 加速(需设备支持 OpenCL)。
  • -DMNN_BUILD_MINI=ON:精简版(减少包大小,但限制固定输入尺寸)。
  • -DANDROID_ABI:选择目标架构(如arm64-v8ax86)。

4、编译so

ninja -j$(nproc)

5、集成

1)将libMNN.so复制到 Android 项目的app/src/main/jniLibs目录下。

2)在build.gradle中配置 NDK 架构:

android {

defaultConfig

{

ndk

 {

abiFilters "armeabi-v7a", "arm64-v8a" // 根据需求选择 }

}

}

验证测试

使用 MNN 提供的示例代码测试推理功能,或通过以下命令运行单元测试:

bash

cd build/android
adb push test/MNNTest /data/local/tmp/
adb shell /data/local/tmp/MNNTest

注意事项

  • 模型转换:若需加载第三方模型(如 TensorFlow/PyTorch),需先用MNN-Converter工具转换为.mnn格式。
  • 性能优化:根据设备特性调整编译参数(如启用 FP16/Int8 量化)。
  • 依赖项:若需使用 MNN-CV 模块,需额外编译并链接相关库。

通过以上步骤,即可在 Android 应用中使用 MNN 进行大模型推理,支持语音交互等功能。

相关文章:

  • 为什么在外置容器时要保证打包方式是war包?
  • 常用的数据结构有哪些?在Go语言中如何定义其实例?
  • 【QGIS_Python】在QGIS的Python控制台生成SHP格式点数据并显示标注
  • ZigMa:一种DiT风格的Zigzag Mamba扩散模型
  • Stream 流中 flatMap 方法详解
  • ADB简单入门
  • Verilog-HDL/SystemVerilog/Bluespec SystemVerilog vscode 配置
  • 一、蓝绿、灰度、滚动发布有什么不同
  • 网络安全攻防万字全景指南 | 从协议层到应用层的降维打击手册(全程图表对比,包你看到爽)
  • 内存高级话题
  • 如何根据 CUDA 配置安装 PyTorch 和 torchvision(大模型 环境经验)
  • C++学习之nginx+fastDFS
  • 详解Springboot的启动流程
  • 【HarmonyOS NEXT】关键资产存储开发案例
  • 纯内网环境安装1Panel面板与商店应用
  • 版本控制器Git ,Gitee如何连接Linux Gitee和Github区别
  • 信号的捕捉(操作部分)
  • 在linux上启动微服务
  • 前端模块化
  • Kubernetes学习笔记-项目简单部署
  • 山东市监局回应“盒马一批次‘无抗’鸡蛋抽检不合格后复检合格”:系生产商自行送检
  • 远如《月球背面》,近似你我内心
  • 习近平同巴西总统卢拉会谈
  • 科普|揭秘女性压力性尿失禁的真相
  • 香港根据《维护国家安全条例》订立附属法例
  • 朝着解决问题的正确方向迈进——中美经贸高层会谈牵动世界目光