RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总

本文参考博客:https://blog.csdn.net/fengshiguang2012/article/details/79569280

准备工作:

下载UVCCamera code链接:https://github.com/saki4510t/UVCCamera

搭建adbwireless 环境

参考:https://blog.csdn.net/Chhjnavy/article/details/97643584

           https://blog.csdn.net/Chhjnavy/article/details/98845930

目标板:rk3288 android7.1.2

编译工具:android studio3.4.2

1.如果一直sync  gradle-4.4  是网速不好造成的,可以将已有的gradle 包放入.gradle 文件中,并将gradle\wrapper\gradle-wrapper.properties  下的 distributionUrl  改成已有的gradle 名称,如下:

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第1张图片

将4.4 改成 5.1.1

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第2张图片

Gradle 的设定也要选择Use default gradle wrapper(recommended) 

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第3张图片

 

2.Process 'command 'C:\Users\Administrator\AppData\Local\Android\Sdk\ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2

出现这个错误一般是NDK 版本不兼容导致的,可以使用android-ndk-r16b 版本或者android-ndk-r14b

下载地址:https://developer.android.google.cn/ndk/downloads/older_releases.html

在android studio 中如下设定:

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第4张图片

3.usbCameraTest app 安装打开界面显示USBCamera Test has stopped app

logcat显示如下:Unable to start activity ComponentInfo{com.serenegiant.usbcameratest/com.serenegiant.usbcameratest.MainActivity}: android.view.InflateException: Binary XML file line #32: Binary XML file line #32: Error inflating class com.serenegiant.widget.SimpleUVCCameraTextureView

查找发现android7.0以后已经不需要android:background="#ff000000" 背景设置,将其删除,run 不再提示错误。

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第5张图片

将其删除

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第6张图片

4.usbCameraTest2  app 安装打开界面显示USBCamera Test has stopped app

1)logcat显示如下:Unable to start activity ComponentInfo{com.serenegiant.usbcameratest/com.serenegiant.usbcameratest.MainActivity}: android.view.InflateException: Binary XML file line #32: Binary XML file line #32: Error inflating class com.serenegiant.widget.SimpleUVCCameraTextureView

查找发现android7.0以后已经不需要android:background="#ff000000" 背景设置,将其删除,run 不再提示错误。

2)而且activity_main.xml文件中 tools:context="com.serenegiant.usbcameratest.MainActivity" 中MainActivity显示红色

请修改为:tools:context="com.serenegiant.usbcameratest2.MainActivity 即可。

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第7张图片

 

5.若是UVCCamera 9个test 都可以打开,但是无法出画面,logcat 提示:E/UVCCamera: [2495*UVCCamera.cpp:172:connect]:could not open camera:err=-1

两种解决方法:

1)将app\UVCCamera\libuvccamera\src\main\jni\Application.mk 中的#NDK_TOOLCHAIN_VERSION := 4.9 注释打开;

2)将NDK 的版本更改为android-ndk-r14b (android studio NDK 设定参照问题2)

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第8张图片

6.若是UVCCamera 中所有test 在某个UVCCarmera全部测试正常,换一个UVCCarmera却导致某些test 显示灰色画面,不显示图像,解决方法:

请更改 libuvccamera\src\main\java\com\serenegiant\usb  中UVCCamera 文件里的默认分辨率,有些UVCCarmera 可能不支持某些分辨率。

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第9张图片

7.若是UVCCamera 中某些test 调试出现[5050*UVCPreview.cpp:507:prepare_preview]:could not negotiate with camera:err=-51 错误,解决方法:

可能是 camera.setPreviewSize(UVCCamera.DEFAULT_PREVIEW_WIDTH, UVCCamera.DEFAULT_PREVIEW_HEIGHT, UVCCamera.DEFAULT_PREVIEW_MODE); 中DEFAULT_PREVIEW_MODE 设定不对造成的,请更改preview 格式。

RK3288 android7.1.2 插 UVCCamera 摄像头, android studio 调试9个test 遇到的几大问题解决方法汇总_第10张图片

 

 

你可能感兴趣的:(RK3288,android)