[Android] OpenCV v2.4.x Android 版本库编译
0、编译环境
Mac OSX v10.11.6
Android NDK r12b
CMake 3.0.2
OpenCV 2.4.9
1、编译方法
1)新建 Terminal 窗口,使用以下命令在环境变量中加入 NDK 地址,我这里使用 android-ndk-r12b 版本:
1 | export ANDROID_NDK=~/my-android-ndk |
例如我的是:
1 | export ANDROID_NDK=~/android-ndk-r12b/ |
2)进入你的 OpenCV 源码路径(我的版本是 2.4.9),进入 platform/scripts 目录:
1 | cd platforms/scripts/ |
执行脚本:
1 | sh cmake_android_arm.sh |
PS:如果你想用 NEON 加速编译,请使用我下面的这个脚本:
cmake_android_arm_neon.sh
如果显示:
1 2 | -- Configuring done -- Generating done |
则 CMake 已经正确生成了 Makefile 工程。
3)编译:
进入 platforms/build_android_arm 目录:
1 | cd ../build_android_arm/ |
执行 make 即可:
1 | make |
等到编译完成,就可以在 platforms/build_android_arm/lib/armeabi-v7a 目录下找到编好的库了。
以上方法针对修改 OpenCV 源码的情况或者想要使用不同版本的 NDK 情况比较实用。如果你只是想要一个原生的 OpenCV Android SDK,可以直接官网下载编译好的即可:
https://sourceforge.net/projects/opencvlibrary/files/opencv-android/2.4.9/OpenCV-2.4.9-android-sdk.zip/download
常见问题:
1)错误:Specified Android native API level 'android-8' is not supported by your NDK/toolchain.
更新 platforms/android/android.toolchain.cmake 为以下地址的内容(也就是 OpenCV 2.4.x 最新版本):
https://github.com/opencv/opencv/blob/2.4/platforms/android/android.toolchain.cmake