Camera Media CTS GTS VTS 记录
1.
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这一项。

[java] view plaincopy
  1. hardware/qcom/camera/QCamera2/HAL/QCameraParameters.cpp
  2. const QCameraParameters::QCameraMap<cam_antibanding_mode_type>
  3. QCameraParameters::ANTIBANDING_MODES_MAP[] = {
  4. { ANTIBANDING_OFF,  CAM_ANTIBANDING_MODE_OFF },
  5. { ANTIBANDING_50HZ, CAM_ANTIBANDING_MODE_50HZ },
  6. { ANTIBANDING_60HZ, CAM_ANTIBANDING_MODE_60HZ },
  7. { 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

代码如下:

[java] view plaincopy
  1. if (result == null) {
  2. maybeClick(new UiSelector().resourceId(pkg + ":id/shutter_button"));
  3. mDevice.waitForIdle();
  4. SystemClock.sleep(5 * DateUtils.SECOND_IN_MILLIS);
  5. maybeClick(new UiSelector().resourceId(pkg + ":id/shutter_button"));
  6. mDevice.waitForIdle();
  7. maybeClick(new UiSelector().resourceId(pkg + ":id/done_button"));
  8. mDevice.waitForIdle();
  9. result = mActivity.getResult(15, TimeUnit.SECONDS);
  10. }

解决方案: 修改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,规避了该问题。

[java] view plaincopy
  1. /* opened already */
  2. if((camera_idx != 2 && (NULL != g_cam_ctrl.cam_obj[0]||NULL != g_cam_ctrl.cam_obj[1])) || camera_idx == 2) {
  3. if(NULL != g_cam_ctrl.cam_obj[camera_idx]) {
  4. /* Add reference */
  5. g_cam_ctrl.cam_obj[camera_idx]->ref_count++;
  6. pthread_mutex_unlock(&g_intf_lock);
  7. LOGD("opened alreadyn");
  8. *camera_vtbl = &g_cam_ctrl.cam_obj[camera_idx]->vtbl;
  9. return rc;
  10. } else {
  11. if (camera_idx != 2) {
  12. pthread_mutex_unlock(&g_intf_lock);
  13. return -EUSERS;
  14. }
  15. }
  16. }

之前高通的修改,会影响双后摄功能的使用,打不开副摄。 此处多添加了对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的时候 使用到。

解决方法:

[java] view plaincopy
  1. frameworks/native/data/etc/android.hardware.camera.full.xml
  2. <!--<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 也能正常工作。

[java] view plaincopy
  1. <intent-filter>
  2. <action android:name="android.media.action.IMAGE_CAPTURE" />
  3. <category android:name="android.intent.category.DEFAULT" />
  4. </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值。 应该由各厂家定制的代码。

[html] view plaincopy
  1. static  cam_fps_range_t default_fps_ranges[] = {
  2. { 5.0, 15.0, 15.0, 15.0},    //原来第一位是15
  3. { 8.0, 24.0, 24.0, 24.0},    //原来第一位是24
  4. { 30.0, 30.0, 30.0, 30.0},
  5. };

一般测试条件,为明亮场景下(可以打灯光或者对着明亮的电脑显示器)。

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 记录相关推荐

  1. CTS(14)---Android O CTS 测试之Media相关测试小结(二)

    Android O CTS 测试之Media相关测试小结(二) CtsMediaTestCases android.media.cts.VideoDecoderPerfTest failed fail ...

  2. Android 9.0 hal3 CTS Verifier Camera Video配置修改

    CTS Verifier Camera Video的配置是自动生成的,可能修改吗,可以的. 1.Camera Video自动生成与什么文件有关: 修改media_profiles.xml中的配置来修改 ...

  3. CTS GTS 测试记录

    GTS 需要网络环境的测试项 下面的测试项都需要连谷歌网址.有些网址国内开apn也是访问不了的.需要导香港网络下用香港卡测试. CtsJobSchedulerTestCases android.job ...

  4. CTS(2)---CTS、CTS-V、GTS版本更新,及其注意事项

    CTS.CTS-V.GTS版本更新,及其注意事项 阅读数:354 更新频率 Name Freq CTS 每月更新 CTS-V 随CTS更新 GTS 不定期,3-6更新一次 Media Files 不定 ...

  5. Android 7.0 GMS测试 Camera模块CTS fail项分析

    在上一篇博客中我们提到Camera模块fail项,本篇博客我们单独讲解Camera模块的. GMS中涉及Camera的有: 1.CTS部分的CtsCameraTestCases模块 2.CTS VER ...

  6. camera相机 its_[Android] Camera ITS/CTS Verifier测试

    ITS:Android Camera Imaging Test Suite / CTS Verifier Android相机成像测试套件,属于CTS测试的一部分 ITS是一个测试框架,用于在camer ...

  7. CTS(23) --- Android 8.1GMS注意事项

    Android 8.1GMS注意事项 GMS认证软件的注意事项:  1.开机画面" Powered by android go edition" 到底边距离应等于或稍大于" ...

  8. CTS(11)---android自动化测试CTS源码分析之一

    android自动化测试CTS源码分析之一 1, 概述 CTS(Compatibility Test Suite)全名兼容性测试,主要目的就是让Android设备开发商能够开发出兼容性更好的andro ...

  9. linux cts运行不起来,CTS测试过程及遇到问题的解决方法

    CTS测试过程: 1.编译原码,将产生的img文件烧到板子上 2.编译SDK,指定好路径 3.编译CTS 遇到的问题及解决办法: 1.连上USB识别不了设备 fn@fn-desktop:~$ lsus ...

最新文章

  1. 每日命令:(13)more
  2. 如何解决visual studio2017 install 下载安装极慢的问题
  3. BZOJ.3218.a + b Problem(最小割ISAP 可持久化线段树优化建图)
  4. pyinstaller打包pyqt文件(转)
  5. python爬虫反爬机制_浅谈爬虫及绕过网站反爬取机制之Python深度应用
  6. 十万条评论告诉你,给《流浪地球》评1星的都是什么心态?
  7. CSS学习笔记-04 a标签-导航练习
  8. 修改IntelliJ IDEA包层级结构显示方式
  9. 树莓派2 安装linux系统安装教程,安装Ubuntu MATE 15.04 for 树莓派2
  10. 【论文写作】课程指导平台的开发中系统部分代码如何写
  11. 熟悉 CMake (三)—— 配置 opencv3
  12. 超分辨率分析(四)--Deep Image Prior
  13. sql 安装程序文件_【病毒文件分析】MedusaLocker勒索病毒,小心全网被加密
  14. 为什么现代企业需提高企业敏捷性
  15. 、nohup 不中断后台执行
  16. Carsim 2019 安装后打不开 未响应 acquiring licence information
  17. 群晖docker安装青龙面板自动狗东京豆领取
  18. Github图片无法显示解决(Mac版)
  19. PS 逆时针绕圈文字
  20. 【黑盒测试】 正交排列法设计测试用例

热门文章

  1. threallocal详解
  2. php的函数是谁写的,一个用PHP写的中文分词函数
  3. php表单密码由加密变明文,PHP 安全性漫谈 Linux+Apache+Mysql+PHP
  4. reflectasm --反射工具
  5. spring boot 整合 mybatis
  6. 记账程序及GitHub学习记录3
  7. NOI2016区间bzoj4653(线段树,尺取法,区间离散化)
  8. ( linker command failed with exit code 1) 错误解决方案 项目使用的是pod
  9. MySQL定时执行脚本(计划任务)命令实例
  10. POJ 3186 Treats for the Cows dp