记一次预览USB摄像头并获取实时回调数据的过程(UVCAndroid集成)

背景

  • 主工程是gradle4.8 jdk1.8 启用jetifier
  • 要接入的usb摄像头的库是UVCAndroid gradle8.7 jdk17

接入过程

  • 看了下setCallbackActivity非常适合我们的需求,而且回调后的数据是RGB888,看到demo中用到了xml若干于是想到用aar打包,整个过程也没什么问题
  • 接着在主工程调用aar的包,发现报错说是要求把jetifier设为false
    在这里插入图片描述- 按照要求做了之后发现报错如下
    在这里插入图片描述

咨询发现可能是涉及到移植到Androidx的问题,遂放弃

  • 写了个简单的demo,在gradle8.7 jdk17的情况下可以调用成功aar。
  • 但是有个问题,我们的主工程版本是gradle4.8,没办法只能升级我们的gradle版本,升级后发现native有个函数报错,升级之后要改的东西还是很多,sdk,api什么都要升级 要进行全面的测试 工期短 不能这么大动干戈 于是放弃
  • 最后尝试在主工程的同级目录使用module模块加载native工程,效果还是不理想,native工程的版本gradle都是jdk17级别的,gradle至少8.7网上,折腾了很久于是放弃
  • 不得以只能采取jar native的方式引入,写了一个lowgradle的工程和我们主工程的gradle版本一样都是4.8,运行发现还是报错,jdk8不能运行jdk17编译的jar,折腾了很久发现这个库居然可以用jdk1.8编译成功,于是接入成功,最起码可以跑了,但是运行崩溃,报错如下:
    在这里插入图片描述在这里插入图片描述
    缺少xml,于是补上xml,还是崩溃,迫不得已,把xml中的数据以字符串的形式写死,然后用xml解析器解析,重新编译jar和so
    在这里插入图片描述
    最后运行报错说是没得权限,加上usb,backgroundservice之后一切都好了,也能获取到实时帧数据了,就是还有些gl渲染的报错,不过已经关系不大了。

上面每个过程都让人折腾了很久,做了5天终于成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值