CTS camera的基础操作和debug
手机端
设置永久不锁屏
1 CTS
进入cts目录tools
运行以下命令
./cts-tradefed
adb devices找设备数串
整跑
run cts -m CtsCameraTestCases --skip-preconditions
run cts -m CtsMediaTestCases
单测格式如下 -t 后面是单跑的内容
run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.StillCaptureTest#testAeCompensation --skip-preconditions
查看设备状态
l d
查看报告状态
l r
查看当前命令
l c
打开报告
nautilus ./
run retry --retry <session-number>
重跑(注意:重跑需要同一个机子同一个版本)
run retry --retry session
run retry --retry 0
以上的是在环境中跑cts.
cts 的本质是下载测试的apk到手机中(在谷歌释放包中CtsCameraTest.apk),这个apk集成了测试相关的内容来调用手机的一些功能完成测试项目
以下命令在终端运行即可,替换成你需要跑的单项和abi
adb shell am instrument -e android.hardware.camera2.cts.CameraDeviceTest#testSessionParametersStateLeak --abi arm64-v8a -w android.camera.cts/androidx.
2 VTS(需要镜像)
vts 需要python 相关的环境包配置,相关命令如下:
sudo apt-get install python-dev
sudo apt-get install python-protobuf
sudo apt-get install protobuf-compiler
sudo apt-get install python-virtualenv
sudo apt-get install python-pip
sudo apt-get install python-numpy
sudo apt-get install python-scipy
sudo apt-get install python-matplotlib
sudo apt-get install python-opencv
2.1进入fastbootd模式
adb unroot
adb reboot fastboot #进入这个模式刷system.img,bootloader模式没有这个分区
2.2 system.img
刷入谷歌 system.img
fastboot flash system system.img
查看gsi版本日期
strings system.img | grep ro.build.version.security_patch
adb shell getprop ro.build.version.security_patch
重新进入fastboot
fastboot reboot bootloader
fastboot -w
2.3 boot-debug.img
vts需要debug的权限,所以需要刷debug的镜像,另外fastboot 的版本不能太旧,太久分区不对,刷system.img会破坏分区,导致无限重启无法进去到系统里面进去.
fastboot flash boot boot-debug.img
fastboot -w
fastboot reboot
2.4 手机配置
进入设置打开开发者模式,usb调试模式,不锁定屏幕,语言设置成英语(这个语言无所谓)
2.5 命令
需要连接外网(电脑)
./vts-tradefed
VTS camera 相关的三个模块
run vts -m VtsHalCameraProviderV2_4Target --skip-preconditions
run vts -m VtsHalCameraProviderV2_5Target --skip-preconditions
run vts -m VtsHalCameraServiceV2_0Target --skip-preconditions
单跑
run vts --include-filter VtsHalCameraProviderV2_4Target --include-filter VtsHalCameraProviderV2_5Target --include-filter VtsHalCameraServiceV2_0Target --include-filter VtsVndkDependency -s xxx;
单跑命令
run vts -m xxx -t xxx -s xxx
run vts -s
vts常用命令
列出所有的跑测结果
l r
列出所有渐层到或已知的设备
l d
列出当前运行的模块内容
l i
单跑某个模块
run vts -m <模块>
可用选项
run vts -s <device_id> --logcat-on-failure --screenshot-on-failure --shard-count <shards>
3 ITS
its以来python环境(不建议使用ubuntu20测试,默认python包可能太新,跑不起来)
3.1 环境包
sudo apt install python-numpy
sudo apt install python-scipy
sudo apt install python-matplotlib
sudo apt install python-opencv
3.2 手机端
手机需要安装CtsVerifier.apk
adb install CtsVerifier.apk
进入到手机apk,所有的权限都打开,选择its测试项目

然后选择测试的场景和摄像头

3.3 电脑端
进入到对应的tools目录下
android-cts-verifier/CameraITS
source ./build/envsetup.sh
整跑命令
python tools/run_all_tests.py device=017650f70401 camera=0 scenes=1
单跑命令
python ./tests/xxx/xxx.py camera=x(执行tests目录下的对应scenes的报错项)。
python tools/run_all_tests.py camera=0 scenes=1
3.4 场景说明
| 场景 | 说明 |
|---|---|
| 场景0 | 无任何要求 |
| 场景1 | 相机位于三脚架上, 指向一个静态场景, 其中包含灰色卡和白色背景, 在恒定 (稳定) 相对明亮的光照源下。这是 CTS 验证程序物理设置上面描述的场景。镜头视野中,灰卡大致放在中间,周围为白色背景 |
| 场景 2 | 这是测试人脸检测的场景。相机位于三脚架上, 指向一张包含3人脸的静态图片, 在恒定 (稳定) 相对明亮的照明光源下。 |
| 场景3 | 这是测试图像清晰度的场景。相机位于三脚架上, 指向包含某些边缘的静态图片, 如打印的 ISO 12233 图表。现场应在一个恒定 (稳定) 相对明亮的照明源。 |
| 场景4 | 这是测试纵横比的场景。相机位于三脚架上, 指向一个静态测试页, 其中包含一个黑色圆圈和一个方块。现场应在一个恒定 (稳定) 相对明亮的照明源 |
| 场景5 | 这是测试镜头着色和颜色均匀性的场景。在摄像机前放置一个扩散器。相机位于三脚架上,指向恒定的 (稳定) 相对地明亮的照明源。 |
我们这边就用的一张白色餐巾纸代替了扩散器,将镜头对着光源,用餐巾纸挡住镜头即可。(很好使,反正不用钱)场景的具体说明看its的官方文档
3.5 创建报告
单跑是空的,显示在终端上。暂不创建报告
adb shell
appops set com.android.cts.verifier android:read_device_identifiers allow
exit
adb pull /storage/emulated/0/verifierReports ~/桌面/
4 GTS
进入到tool目录下,手机电脑需要挂VPN
run gts -m GtsCameraTestCases -s xxx
run gts -m GtsCameraTestCases -s 008bcdcf0405
5 STS
安全补丁包测试以后再说
6 GSI
需要烧录谷歌镜像
进入fastboot模式
adb reboot fastboot
刷入对应的谷歌镜像system.img
fastboot flash system system.img
fastboot reboot bootloader
fastboot -w
fastboot oem unlock
adb reboot bootloader
fastboot reboot
打开开发者选项,打开stay awake和USB debugging
进入vts目录,运行 ./vts-tradefed
全跑
run cts-on-gsi -m CtsCameraTestCases
单跑
run cts-on-gsi --include-filter CtsCameraApi25TestCases --include-filter CtsCameraTestCases -s xxx
run cts-on-gsi -m CtsCameraTestCases -t xxx
run cts-on-gsi -o
CTS camera的基础操作和debug的更多相关文章
- 【代码笔记】Java常识性基础补充(二)——数组、ArrayList集合、ASCII编码、 eclipse基础操作、eclipse调试、eclipse项目导入、eclipse快捷键
1.0 如何定义数组以及访问数组中的元素,如下所示.ArrayDemo01.java public class ArrayDemo01 { public static void main(String ...
- 笔记-flask基础操作
笔记-flask基础操作 1. 前言 本文为flask基础学习及操作笔记,主要内容为flask基础操作及相关代码. 2. 开发环境配置 2.1. 编译环境准备 安装相关Lib ...
- python基础操作以及hdfs操作
目录 前言 基础操作 hdfs操作 总结 一.前言 作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路, ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- 【Learning Python】【第二章】Python基础类型和基础操作
基础类型: 整型: py 3.0解决了整数溢出的问题,意味着整型不必考虑32位,64位,有无符号等问题,你写一个1亿亿亿,就是1亿亿亿,不会溢出 a = 10 ** 240 print(a) 执行以上 ...
- Emacs学习心得之 基础操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...
- Git基础操作
配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...
- activiti基础操作
package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...
- 《Genesis-3D开源游戏引擎-官方录制系列视频教程:基础操作篇》
注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本 G3D基础操作 第一课<G3D编辑器初探> G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的 ...
随机推荐
- Jcrop图片裁剪
一.引入js和css 二.实现 1.jsp页面 <%-- Created by IntelliJ IDEA. User: a Date: 2019/8/19 Time: 9:36 To chan ...
- hdu1217 Arbitrage
Problem Description Arbitrage is the use of discrepancies in currency exchange rates to transform on ...
- hdu5491 The Next
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- C# TCP应用编程三 异步TCP应用编程
利用TcpListener和TcpClient类在同步方式下接收.发送数据以及监听客户端连接时,在操作没有完成之前一直处于阻塞状态,这对于接受.发送数据量不大的情况或者操作勇士较短的情况下是比较方便的 ...
- 使用开源量子编程框架ProjectQ打印编译后的量子线路与绘制线路图
技术背景 在量子计算领域,基于量子芯片的算法设计(或简称为量子算法)是基于量子线路来设计的,类似于传统计算中使用的与门和非门之类的逻辑门.因此研究一个量子线路输入后的编译(可以简化为数量更少的量子门组 ...
- Zabbix 监控 SNMP & JMX
Zabbix 配置清华源 # 安装清华源 yum 仓库 [root@db01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabb ...
- Nginx 服务介绍
目录 静态 / 动态 Web 服务 Nginx 简介 Nginx 的优点 Nginx 和 Apache 的比较 Nginx 的安装 Nginx 相关文件 Nginx 主配置文件 Nginx 虚拟主机配 ...
- 爬虫入门六 总结 资料 与Scrapy实例-bibibili番剧信息
title: 爬虫入门六 总结 资料 与Scrapy实例-bibibili番剧信息 date: 2020-03-16 20:00:00 categories: python tags: crawler ...
- Gym102361A Angle Beats(直角三角形 计算几何)题解
题意: \(n\)个点,\(q\)个询问,每次问包含询问点的直角三角形有几个 思路: 代码: #include<bits/stdc++.h> using namespace std; co ...
- ysoserial-URLDNS学习
简述 ysoserial很强大,花时间好好研究研究其中的利用链对于了解java语言的一些特性很有帮助,也方便打好学习java安全的基础,刚学反序列化时就分析过commoncollections,但是是 ...