CTS(23)---Camera Media CTS GTS VTS 记录
Camera Media CTS GTS VTS 记录
CtsCameraTestCases
android.hardware.camera2.cts.CameraDeviceTest#testCameraDevicePreviewTemplate
android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceRecordingTemplate
android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceStillTemplate
error: java.lang.Throwable(Test failed for camera 1: Test failed for camera 1: Key android.control.aeAntibandingMode value 3 isn't one of the expected values [1, 2]
代码查找,发现可能与camera配置信息有关。
通过adb shell dumpsys media.camera 查看手机camera的一些多媒体信息。
发现一个异常的信息:
antibanding-values: off,60hz,50hz,auto 没有支持auto这一项。
- hardware/qcom/camera/QCamera2/HAL/QCameraParameters.cpp
- const QCameraParameters::QCameraMap<cam_antibanding_mode_type>
- QCameraParameters::ANTIBANDING_MODES_MAP[] = {
- { ANTIBANDING_OFF, CAM_ANTIBANDING_MODE_OFF },
- { ANTIBANDING_50HZ, CAM_ANTIBANDING_MODE_50HZ },
- { ANTIBANDING_60HZ, CAM_ANTIBANDING_MODE_60HZ },
- { ANTIBANDING_AUTO, CAM_ANTIBANDING_MODE_AUTO_50HZ } -> CAM_ANTIBANDING_MODE_AUTO
解决方案:修改auto一项
2.
CtsProviderTestCases
android.provider.cts.MediaStoreUiTest#testImageCapture 8.0新增
error 信息:junit.framework.AssertionFailedError: Expected to get a IMAGE_CAPTURE result; your camera app should respond to the CAMERA and DPAD_CENTER keycodes
原因:app层的拍照按钮的资源id name 和 拍完后确认按钮的资源id name不符合google 在cts 中定义的。
类路径:cts/tests/tests/provider/src/android/provider/cts/MediaStoreUiTest.java
方法名:testImageCapture
代码如下:
- if (result == null) {
- maybeClick(new UiSelector().resourceId(pkg + ":id/shutter_button"));
- mDevice.waitForIdle();
- SystemClock.sleep(5 * DateUtils.SECOND_IN_MILLIS);
- maybeClick(new UiSelector().resourceId(pkg + ":id/shutter_button"));
- mDevice.waitForIdle();
- maybeClick(new UiSelector().resourceId(pkg + ":id/done_button"));
- mDevice.waitForIdle();
- result = mActivity.getResult(15, TimeUnit.SECONDS);
- }
解决方案: 修改app侧的拍照以及确认按钮的id name.
3.
CtsCameraTestCases
android.hardware.cts.CameraTest#testMultiCameraRelease
error 信息: junit.framework.AssertionFailedError: testMultiCameraRelease: Second camera preview timed out on frame 52!
当前项目的前后摄的引脚用的同一个,测试项将在第50帧后的打开前摄,如果共享引脚,将导致后摄异常,测试项失败。
提的高通case,规避了该问题。
- /* opened already */
- if((camera_idx != 2 && (NULL != g_cam_ctrl.cam_obj[0]||NULL != g_cam_ctrl.cam_obj[1])) || camera_idx == 2) {
- if(NULL != g_cam_ctrl.cam_obj[camera_idx]) {
- /* Add reference */
- g_cam_ctrl.cam_obj[camera_idx]->ref_count++;
- pthread_mutex_unlock(&g_intf_lock);
- LOGD("opened alreadyn");
- *camera_vtbl = &g_cam_ctrl.cam_obj[camera_idx]->vtbl;
- return rc;
- } else {
- if (camera_idx != 2) {
- pthread_mutex_unlock(&g_intf_lock);
- return -EUSERS;
- }
- }
- }
之前高通的修改,会影响双后摄功能的使用,打不开副摄。 此处多添加了对id为2的处理。
4.
CtsAppTestCases
android.app.cts.SystemFeaturesTest#testCameraFeatures
error:junit.framework.AssertionFailedError: PackageManager#hasSystemFeature should NOT return true for android.hardware.camera.level.full
android.hardware.camera.level.full
应用使用设备的至少一个相机提供的 FULL 级图像捕捉支持。 提供 FULL 支持的相机可提供快速捕捉功能、逐帧控制和手动后期处理控制。
camera2 HAL3的时候 使用到。
解决方法:
- frameworks/native/data/etc/android.hardware.camera.full.xml
- <!--<feature name="android.hardware.camera.level.full" />--> 注释掉。
验证: 将android.hardware.camera.full.xml push 到 vendor/etc/permissions/android.hardware.camera.full.xml
5.
GtsMediaTestCases
com.google.android.media.gts.WidevineH264PlaybackTests#testClearWithUHD30
com.google.android.media.gts.WidevineH264PlaybackTests#testL3WithUHD30
com.google.android.media.gts.WidevineHEVCPlaybackTests#testClearWithUHD30
com.google.android.media.gts.WidevineHEVCPlaybackTests#testL3WithUHD30
和硬件设备有关。SDM450 最高支持到1080p 而UHD(超高清)超过了,可见文档 - 80-P3255-5 G - page 15。 需与google申请豁免,不测此项。
6. VTS
注意,测之前需要刷google system.img,会将system/lib/下数据重置。
而项目中代码会加载system/lib下的库,加载不了,导致camera hal起不来。
可将camera 中algo so库需要更换位置,否则无法测试。
此处看不同项目的结构进行操作。
7.
CtsAppSecurityHostTestCases
android.appsecurity.cts.EphemeralTest#testExposedSystemActivities
java.lang.AssertionError: on-device tests failed:
com.android.cts.ephemeralapp1.ClientTest#testExposedActivity:
java.lang.AssertionError: No activies found for Intent: Intent { act=android.media.action.IMAGE_CAPTURE } at org.junit.Assert.fail(Assert.java:88)
显示action android.media.action.IMAGE_CAPTURE 没有响应。
此action属于camera中三方调用拍照功能的,但action 明明已经在AndroidManifest中定义了,并且三方调用camera 也能正常工作。
- <intent-filter>
- <action android:name="android.media.action.IMAGE_CAPTURE" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
在此action 对应的activity中 添加属性: android:visibleToInstantApps="true"> 低版本sdk不行 我使用的是27
8.
android.hardware.cts.CameraTest#testPreviewFpsRange
junit.framework.AssertionFailedError: Actual fps (7.683863885839737) should be larger than min fps (24.0)
从错误信息来看:测试机在测试时检测到的fps为7.68,而代码中显示的最低fps为24.
说明测试机器达不到该要求,此时需修改代码中最小fps值。 应该由各厂家定制的代码。
- static cam_fps_range_t default_fps_ranges[] = {
- { 5.0, 15.0, 15.0, 15.0}, //原来第一位是15
- { 8.0, 24.0, 24.0, 24.0}, //原来第一位是24
- { 30.0, 30.0, 30.0, 30.0},
- };
一般测试条件,为明亮场景下(可以打灯光或者对着明亮的电脑显示器)。
9.
android.hardware.cts.CameraTest#testRecordingHinttestBurstVideoSnapshot testRecordingHint testVideoSnapshot
com.android.ex.camera2.exceptions.TimeoutRuntimeException:Timed out after 3000 ms waiting for state(s) SESSION_CLOSED
在测试这3个case时, 需要注意log中是否将recordhind 的值设为true. 如果设置为false了,就需要查看代码中哪边引起的.
CTS(23)---Camera Media CTS GTS VTS 记录相关推荐
- CTS(14)---Android O CTS 测试之Media相关测试小结(二)
Android O CTS 测试之Media相关测试小结(二) CtsMediaTestCases android.media.cts.VideoDecoderPerfTest failed fail ...
- Android 9.0 hal3 CTS Verifier Camera Video配置修改
CTS Verifier Camera Video的配置是自动生成的,可能修改吗,可以的. 1.Camera Video自动生成与什么文件有关: 修改media_profiles.xml中的配置来修改 ...
- CTS GTS 测试记录
GTS 需要网络环境的测试项 下面的测试项都需要连谷歌网址.有些网址国内开apn也是访问不了的.需要导香港网络下用香港卡测试. CtsJobSchedulerTestCases android.job ...
- CTS(2)---CTS、CTS-V、GTS版本更新,及其注意事项
CTS.CTS-V.GTS版本更新,及其注意事项 阅读数:354 更新频率 Name Freq CTS 每月更新 CTS-V 随CTS更新 GTS 不定期,3-6更新一次 Media Files 不定 ...
- Android 7.0 GMS测试 Camera模块CTS fail项分析
在上一篇博客中我们提到Camera模块fail项,本篇博客我们单独讲解Camera模块的. GMS中涉及Camera的有: 1.CTS部分的CtsCameraTestCases模块 2.CTS VER ...
- camera相机 its_[Android] Camera ITS/CTS Verifier测试
ITS:Android Camera Imaging Test Suite / CTS Verifier Android相机成像测试套件,属于CTS测试的一部分 ITS是一个测试框架,用于在camer ...
- CTS(23) --- Android 8.1GMS注意事项
Android 8.1GMS注意事项 GMS认证软件的注意事项: 1.开机画面" Powered by android go edition" 到底边距离应等于或稍大于" ...
- CTS(11)---android自动化测试CTS源码分析之一
android自动化测试CTS源码分析之一 1, 概述 CTS(Compatibility Test Suite)全名兼容性测试,主要目的就是让Android设备开发商能够开发出兼容性更好的andro ...
- linux cts运行不起来,CTS测试过程及遇到问题的解决方法
CTS测试过程: 1.编译原码,将产生的img文件烧到板子上 2.编译SDK,指定好路径 3.编译CTS 遇到的问题及解决办法: 1.连上USB识别不了设备 fn@fn-desktop:~$ lsus ...
最新文章
- 每日命令:(13)more
- 如何解决visual studio2017 install 下载安装极慢的问题
- BZOJ.3218.a + b Problem(最小割ISAP 可持久化线段树优化建图)
- pyinstaller打包pyqt文件(转)
- python爬虫反爬机制_浅谈爬虫及绕过网站反爬取机制之Python深度应用
- 十万条评论告诉你,给《流浪地球》评1星的都是什么心态?
- CSS学习笔记-04 a标签-导航练习
- 修改IntelliJ IDEA包层级结构显示方式
- 树莓派2 安装linux系统安装教程,安装Ubuntu MATE 15.04 for 树莓派2
- 【论文写作】课程指导平台的开发中系统部分代码如何写
- 熟悉 CMake (三)—— 配置 opencv3
- 超分辨率分析(四)--Deep Image Prior
- sql 安装程序文件_【病毒文件分析】MedusaLocker勒索病毒,小心全网被加密
- 为什么现代企业需提高企业敏捷性
- 、nohup 不中断后台执行
- Carsim 2019 安装后打不开 未响应 acquiring licence information
- 群晖docker安装青龙面板自动狗东京豆领取
- Github图片无法显示解决(Mac版)
- PS 逆时针绕圈文字
- 【黑盒测试】 正交排列法设计测试用例
热门文章
- threallocal详解
- php的函数是谁写的,一个用PHP写的中文分词函数
- php表单密码由加密变明文,PHP 安全性漫谈 Linux+Apache+Mysql+PHP
- reflectasm --反射工具
- spring boot 整合 mybatis
- 记账程序及GitHub学习记录3
- NOI2016区间bzoj4653(线段树,尺取法,区间离散化)
- ( linker command failed with exit code 1) 错误解决方案 项目使用的是pod
- MySQL定时执行脚本(计划任务)命令实例
- POJ 3186 Treats for the Cows dp