1. 在Windows上编译OpenCV Android原生库全记录
作为一名长期从事计算机视觉开发的工程师,我经常需要在Android项目中集成OpenCV。传统的Android Studio集成方式虽然简单,但对于需要深度定制或自动化构建的场景就显得力不从心了。经过多次实践,我总结出了一套纯命令行编译OpenCV Android原生库的方法,完全摆脱了对Android Studio和Gradle的依赖。
这种方法特别适合以下场景:
- 需要精确控制OpenCV编译选项和模块
- 项目对应用体积敏感,需要裁剪不必要的功能
- 构建流程需要集成到CI/CD系统中
- 想要深入了解OpenCV的构建系统
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具配置
2.1 必需工具清单
在开始编译前,我们需要准备以下工具,建议使用推荐版本以确保兼容性:
| 工具名称 | 推荐版本 | 下载地址 | 作用说明 |
|---|---|---|---|
| Android NDK | r26c | 官方开发者网站 | 提供Android原生开发工具链 |
| CMake | 3.22.1 | CMake官网 | 跨平台构建系统 |
| Git for Windows | 最新版 | Git官网 | 提供Bash环境 |
| Ninja | 最新版 | GitHub发布页 | 高性能构建系统 |
| OpenCV源码 | 4.11.0 | OpenCV GitHub仓库 | 需要编译的源代码 |
2.2 工具安装与路径配置
在实际操作中,我采用了以下目录结构,你可以根据自己习惯调整:
code复制D:\
├── AndroidSDK\
│ ├── ndk\26.3.11579264\
│ └── cmake\3.22.1\
├── ndkTest\
│ └── ninja-win\
└── opencv-4.11.0\
关键路径配置要点:
- Android NDK路径不要包含空格或中文
- CMake建议使用Android SDK中集成的版本
- Ninja可以直接下载Windows版二进制文件
- OpenCV源码建议通过Git克隆,方便后续更新
提示:使用Git Bash时,Windows路径需要转换为Unix风格。例如D:\AndroidSDK\ndk在脚本中应写为/d/AndroidSDK/ndk
2.3 环境验证
在开始编译前,建议运行以下命令验证环境是否正确配置:
bash复制# 检查CMake版本
cmake --version
# 检查NDK路径
ls /d/AndroidSDK/ndk/26.3.11579264/build/cmake/android.toolchain.cmake
# 检查Ninja
/d/ndkTest
