下载MNN开源框架
- git clone https://github.com/alibaba/MNN.git
-下载下来以后进入project/android项目。新建一个build的文件夹。 - 编译MNN需要自己配置好NDK环境和cmake环境变量。
cmake ../../../
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake
-DCMAKE_BUILD_TYPE=Release
-DANDROID_ABI="arm64-v8a"
-DANDROID_STL=c++_static
-DMNN_USE_LOGCAT=false
-DMNN_BUILD_BENCHMARK=ON
-DMNN_USE_SSE=OFF
-DMNN_SUPPORT_BF16=OFF
-DMNN_BUILD_TEST=ON
-DANDROID_NATIVE_API_LEVEL=android-21
-DMNN_BUILD_FOR_ANDROID_COMMAND=true
-DNATIVE_LIBRARY_OUTPUT=. -DNATIVE_INCLUDE_OUTPUT=. $1 $2 $3 $4 $5 $6 $7
make -j4
-编译完成以后得到
image.png
- libMNN_Express.so和libMNN.so主要用到这两个产物。
然后下载MNN-LLM框架
- https://github.com/wangzhaode/mnn-llm.git
- 然后把MNN框架的两个so文件(libMNN_Express.so和libMNN.so)拷贝到libs文件夹下面下面去。
-
把MNN框架下面的include/MNN文件加载拷贝到mnn-llm的include下面。
image.png - 编译build MNN-llmandroid部分。
mkdir android_build
cd android_build
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
-DANDROID_STL=c++_static \
-DANDROID_ABI="arm64-v8a" \
-DANDROID_NATIVE_API_LEVEL=android-21 \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_FOR_ANDROID=ON
make -j4
-用Android studio打开MNN-llm 下面的android工程,把libMNN_Express.so和libMNN.so/拷贝到v8下面。
-下载qwen-1.8b模型文件,在adored工程目录下面创建assert文件,把模型文件拷贝进去。
运行到手机上去。
image.png