编译OpenCV3.3源码生成Android SDK
最近由于工作需要,需要在Android平台上编译OpenCV及其扩展模块androidp源码编译空间,生成Android SDK。 之前,因为编译过OpenCV相关的Android NDK项目,所以以为在Android平台上编译OpenCV源码是很容易的。 花了三天时间。 整个编译过程完成,主要原因如下:
从Android Studio上的SDK Manager下载的NDK缺少文件。 一开始我没有意识到,浪费了很多时间,所以我必须下载离线版本。 手动安装更可靠。
编译生成Java源代码时,CMake仍然无法测量JAVAHOME、ANTHOME等环境变量,只能自动添加。 这让人感觉比较可怜。
当然,我个人的学习能力并不强。 第一次编译OpenCV生成Android SDK与编译NDK项目有很大不同。 个人建议在Ubuntu上编译。 在Windows上编译生成Android SDK比较麻烦。 因为我是在Windows上完成编译的,所以下面说一下整个过程。
准备阶段 CMake 配置生成阶段
打开安装好的CMake-GUI,选择源码路径和编译后的保存路径。 手动添加以下实体变量。
然后点击【Configure】,选择【MinGW Makefile】,然后选择使用toolchain-file,选择D:opencv-3.3opencvsourcesplatformsandroidandroid.toolchain.cmake。 然后点击【Finish】生成配置,生成后取消勾选WITH_CAROTENE选项,点击【Generate】。如果一切顺利,你会听到支持你生成的Java相关选项
如果你看到javawrappers为NO,说明你没有正确生成配置androidp源码编译空间,这样就不会生成OpenCV4Android Java SDK。 只会生成一堆*.a和*.so文件。
运行后显示如下
生成SDK阶段
打开 cmd 命令行,然后更改本地目录,如下所示:
然后输入mingw-make回车开始编译生成
最终生成完成后,再次输入以下命令行执行安装步骤:
完成后可以在安装目录中看到
以下可以导出到Android Studio中正常使用。 有关如何在 Android Studio 中配置和使用 OpenCV4Android SDK 的信息,请参阅此处:
最后,我选择这张图作为封面,因为编译 OpenCV 生成 OpenCV4Android Java SDK 是一件令人沮丧的事情,尤其是在 Windows 平台上,但对于所有学习和使用 OpenCV 的开发者来说,这是值得挑战的。 最近事情比较多,公众号更新有点少,希望大家继续支持,我会继续更新的!
久留者,飞高;久留者,飞高。 带头的人会感谢杜灶