1、下載解壓ndk
wget https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip unzip android-ndk-r17b-linux-x86_64.zip
2、設置ndk環境變量
export NDK_ROOT="/home/Your Name/android-ndk-r17b"
檢測:
echo $NDK_ROOT 看輸出
3、安裝cmake
wget https://cmake.org/files/v3.11/cmake-3.11.2.tar.gz
tar -zxvf cmake-3.11.2.tar.gz
cd cmake-3.11.2
./bootstrap
make
make install
檢測:cmake --version
cmake卸載:sudo apt-get autoremove cmake
4、下載ncnn
git clone https://github.com/Tencent/ncnn.git
# 進入到ncnn源碼根目錄下
cd ncnn
# 創建一個新的文件夾
mkdir -p build-android-armv7
# 進入到該文件夾中
cd build-android-armv7
# 執行編譯命令
cmake -DCMAKE_TOOLCHAIN_FILE=/home/Your name/android-ndk-r17b/build/cmake/android.toolchain.cmake \
-DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON \
-DANDROID_PLATFORM=android-14 ..
# 這里筆者使用4個行程並行編譯
make -j4
make install
編譯完成,會在build-android-armv7目錄下生成一個install文件夾:
include :調用ncnn所需的頭文件,該文件夾會存放在Android項目的src/main/cpp目錄下;
lib 編譯得到的ncnn庫libncnn.a,之后會存放在Android項目的src/main/jniLibs/armeabi-v7a/libncnn.a