ubuntu:ubuntu16_64b
opencv 3.4.1
1.下载压缩包https://codeload.github.com/opencv/opencv/zip/3.4.1
2.查看 /platforms/android/android.toolchain.cmake,了解android编译方式:
查看CMakeLists.txt编译选项:
3.编写build.sh,并修改为可执行。
build.sh内容如下:
CURRENT_FOLDER=/home/xxx/opencv-3.4.1/
NDK_FOLDER=/home/xxx/android-ndk-r14b/
TOOLCHAIN_FILE=$CURRENT_FOLDER/platforms/android/android.toolchain.cmake
OUTPUT_FLODER=$CURRENT_FOLDER/output/
rm -rf output
#armeabiv
rm -rf build
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_FILE \
-DANDROID_NDK=$NDK_FOLDER \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_ABI=armeabi \
-DANDROID_NATIVE_API_LEVEL=24 \
-DBUILD_SHARED_LIBS=ON \
-DOpenCV_BINARY_DIR=$OUTPUT_FLODER ..
make -j6
#armeabi-v7a
cd ..
rm -rf build
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_FILE \
-DANDROID_NDK=$NDK_FOLDER \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_ABI=armeabi-v7a \
-DANDROID_NATIVE_API_LEVEL=24 \
-DBUILD_SHARED_LIBS=ON \
-DOpenCV_BINARY_DIR=$OUTPUT_FLODER ..
make -j6
#arm64-v8a
cd ..
rm -rf build
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_FILE \
-DANDROID_NDK=$NDK_FOLDER \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_ABI=arm64-v8a \
-DANDROID_NATIVE_API_LEVEL=24 \
-DBUILD_SHARED_LIBS=ON \
-DOpenCV_BINARY_DIR=$OUTPUT_FLODER ..
make -j6
4.执行build.sh编译:
5.完成:
头文件等在build目录:
动态库目录output: