基本思想:想在相机标定的代码中调用外接usb摄像头进行标定,使用工程https://github.com/jiangdongguo/AndroidUSBCamera中的libusbcamera库进行外接摄像头的监听、读取、和视频流传输。调试过程中的问题总结。

  1. 先设置使用的NDK

 

 

  1. 将USB代码部分需要的common:4.1.1包存放在本地目录与app同级。否则会报错

 

  1. 在libusbcamera的build.gradle中

36行注掉api "com.serenegiant:common:${commonVersion}"。

37行放开implementation(name: 'common-4.1.1', ext: 'aar'),

38行注掉androidTestImplementation'com.android.test.ext:junit:1.1.2'  否则会报错。

 

4.在app的build.gradle中dependence增加implementation(name: 'common-4.1.1', ext: 'aar')

 

 

5.设置最小的minSdkVersion版本为26,否则会报错。

 

 

6.此时sync同步一下,会报错com.android和androidx共存问题:

 

需要在gradle.properties文件中增加:android.useAndroidX=true;android.enableJetifier=true。

 

再次同步一下,同步成功。

 

 

7.build项目会发现,在MainActivity.java中和CameraCalibrationActivity.java中有报红:

(1)MainActivity.java中getpermission函数用到了ActivityCompat和ContextCompat,在import阶段都会报红:

 

 

这里代码没有用到v7,97行直接注掉。另外两个import换成:

Import  androidx.core.app.ActivityCompat;
import  androidx.core.content.ContextCompat;

后MainActivity报红处应该没有了。

 

(2)同理在CameraCalibrationActivity.java中发现没有使用ActivityCompat和ContextCompat,直接注掉:

 

重新build,编译成功。

 

 

调研过程中的一些问题点总结

1.android studio升级至3.0之后,依赖方式发生了变化:

androidTestImplementation,testImplementation,implementation的区别:

https://blog.csdn.net/daihuimaozideren/article/details/79585234

 

2.【UVCcamera/新手向】AS中初次使用OpenCV

https://blog.csdn.net/qq_33446100/article/details/88959066

 

3.Android 接入 OpenCV库的三种方式

https://www.cnblogs.com/xiaoxiaoqingyi/p/6676096.html

 

4.Android studio+opencv-4.1.0 开发环境搭建(一)

https://blog.csdn.net/weixin_43815930/article/details/90516455

 

5.Android直播开发之旅(10):AndroidUSBCamera,UVCCamera开发通用库

https://blog.csdn.net/weixin_43815930/article/details/90516455

 

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐