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

如何为Android平台构建编译Assimp的.so动态库?

Assimp Android 平台.so动态库编译教程

前置依赖

  • Android NDK:推荐使用r21e及以上稳定版本,避免高版本NDK出现不必要的ABI兼容问题
  • CMake:3.10及以上版本,可直接使用Android Studio自带的CMake工具
  • Assimp源码:拉取官方仓库的最新稳定tag版本,不推荐使用开发分支,避免编译异常

编译操作步骤

步骤1:编写编译脚本

在Assimp源码根目录下新建build_android.sh脚本,内容如下,脚本内路径和参数可根据自身需求修改:

#!/bin/bash
# 替换为你本地的NDK实际存放路径
NDK_PATH=<你的NDK绝对路径>
# 可选ABI:armeabi-v7a、arm64-v8a、x86、x86_64,可按需增删
ABIS=("arm64-v8a" "armeabi-v7a")
# 替换为你的应用最低支持的Android API级别
ANDROID_API=21

for ABI in "${ABIS[@]}"
do
    BUILD_DIR=build/android/$ABI
    mkdir -p $BUILD_DIR
    cd $BUILD_DIR
    cmake ../../../ \
        -DCMAKE_TOOLCHAIN_FILE=$NDK_PATH/build/cmake/android.toolchain.cmake \
        -DANDROID_ABI=$ABI \
        -DANDROID_NDK=$NDK_PATH \
        -DANDROID_PLATFORM=android-$ANDROID_API \
        -DCMAKE_BUILD_TYPE=Release \
        -DASSIMP_BUILD_ASSIMP_TOOLS=OFF \
        -DASSIMP_BUILD_TESTS=OFF \
        -DASSIMP_INSTALL=ON \
        -DCMAKE_INSTALL_PREFIX=../../../install/android/$ABI
    make -j8
    make install
    cd ../../../
done

参数说明:

  • 关闭ASSIMP_BUILD_ASSIMP_TOOLS和ASSIMP_BUILD_TESTS可以大幅减少编译耗时,同时避免无关依赖报错
  • CMAKE_INSTALL_PREFIX指定编译后产物的输出目录,方便统一提取

步骤2:执行编译

执行以下命令给脚本添加执行权限并运行:

chmod +x build_android.sh
./build_android.sh

等待编译完成即可,编译时长取决于你的设备性能,一般5-15分钟不等。

步骤3:提取产物

编译完成后:

  • 动态库文件存放在源码根目录的install/android/[对应ABI]/lib/libassimp.so
  • 头文件存放在install/android/[对应ABI]/include目录下,直接复制到你的Android项目cpp目录引用即可

常见问题排查

  • 编译提示找不到NDK路径:检查脚本内NDK_PATH是否和本地实际存放路径一致,Windows用户可通过Git Bash执行脚本,避免路径格式错误
  • 应用运行时提示找不到符号:确认编译时设置的ANDROID_API不高于你应用的minSdkVersion,同时确认打包的ABI和编译出的.so的ABI完全匹配
  • 动态库体积过大:可在cmake参数中添加-DCMAKE_CXX_FLAGS_RELEASE=-Os优化体积,编译后也可通过NDK自带的strip工具移除调试符号进一步压缩体积

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:24:01