uniapp 安卓离线包引入opencvSDK

环境
Android-SDK@3.8.12.81924_20230817 (用最新的sdk同理,地址
opencv-4.9.0-android-sdk (link
步骤

准备好以上两样,先打开uni的离线SDK中的UniPlugin-Hello-AS项目

选择导入module在这里插入图片描述
选择OpenCV的sdk文件夹
在这里插入图片描述
在这里插入图片描述
会发生报错
在这里插入图片描述
检查项目是否需要用到kotlin,不需要直接注释它,这里我不需要用到kotlin,直接注释

由于用到Cmake,所以要导入你的ndk路径
在local.properties添加ndk路径
在这里插入图片描述
没有ndk的去下。我这里用的25.1.8937393版本,看其他官方示例里面好像用的25.2.9519653版本,不过我这能跑就行,就不同步版本了。

此时编译通过,运行到设备报错

接下来报错,找不到lib/x86/lib++_shared.so
在这里插入图片描述

在这里插入图片描述
这里和GPT进行了激烈的讨论,给出的解决方法都无法解决。
开始以为是缺少这个文件,后来查了一下文件确实存在的。然后再审查这个报错,看到熟悉的uniapp-v8-release,这就是写每个插件都要引入的uniapp-v8-release.aar文件;立马想到是冲突的问题。

解决方法
在这里插入图片描述
注意看目录,在app主应用中的配置文件加入packagingOptions;期初只写了一个lib/x86/libc++_shared.so,后来还是报错。只不过报错的是一样的,就是提示冲突不一样,就有了后来的'lib/x86_64/libc++_shared.so'…略

在插件中使用
在这里插入图片描述
在这里插入图片描述

照常引入这个sdk,写入这个Mat,确认引入的opencv库里的
编译运行

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐