ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Android Studio 集成 OpenCV 的步骤与常见报错

Android Studio 集成 OpenCV 的步骤与常见报错

问题现象

把计算机视觉库接入安卓工程,是很多人第一次接触原生库集成的场景,报错也五花八门:

  • 照着教程导入模块,构建时直接报「找不到名为 default 的配置」;
  • 模块导进来了,主工程却引用不到里面的类;
  • 编译通过、安装成功,一运行就报找不到原生库;
  • 加载库时写的名字在某个版本上可用,换个版本就失败;
  • 只拷了部分架构的动态库,在模拟器上跑得好好的,真机上一启动就崩;
  • 工程里明明有库文件,运行时却说找不到,检查发现目录放错了位置。

原因分析

第一,「找不到某个配置」是构建工具版本不匹配的典型信号。早期构建工具用一种名为 default 的配置来描述模块对外暴露的产物,教程按那个年代写成。新版本构建工具重构了依赖产物的描述方式,旧配置名被移除,于是按老教程操作必然报这个错。遇到它,说明手里的教程与当前构建工具版本已经脱节。

第二,官方安卓包里的 Java 部分是一个完整的库模块。解压后的目录里,Java 封装层所在文件夹本身就是符合构建规范的模块,它有自己的构建脚本和清单文件,不是一堆可以随手丢进某个目录的源码。正确做法是把它当作模块整体导入,让构建系统把它纳入工程管理;手工拷贝文件会丢掉这些元信息。

第三,四个版本号必须与主工程一致。库模块的构建脚本里写着编译版本、构建工具版本、最低支持版本、目标版本。与主工程不一致时,构建系统无法为两者选择统一的编译环境,表现为各种难以理解

返回列表