Sensor相关Google认证

Sensor相关Google认证


Google认证包含CTS、GTS、VTS,还有一个漏洞STS。

1. android.app.cts.SystemFeaturesTest#testSensorFeatures


cts/tests/app/src/android/app/cts/SystemFeaturesTest.java

PackageManager#hasSystemFeature 检查传感器特性是否与 SensorManager#getSensorList 返回的传感器相对应。查看代码检测了三点:Feature、Sensor List、sensor.getName
在这里插入图片描述在这里插入图片描述
现在流行全面屏情况下,FEATURE_SENSOR_LIGHT、FEATURE_SENSOR_PROXIMITY这两个Feature容易报错,很多手机厂商都会有自己的屏下光感和屏下接近定制。

1.1 mPackageManager.hasSystemFeature

在这里插入图片描述
检测 android.hardware.sensor*xml 配置,一般在frameworks/native/data/etc有配置
在这里插入图片描述

1.2 SensorManager.getSensorList

adb shell dumpsys sensorservice > sensorservice.txt

dump文件直接查看确认就可以
在这里插入图片描述

1.3 sensor.getName

也可以和1.2中一样查看sensorservice的dump文件

2. android.hardware.cts.SensorTest#testBatchAndFlushUidIdle


cts\tests\sensor\src\android\hardware\cts\SensorTest.java

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

按照如图,最终调用下面TestSensorManager中assertFlushFail(),实质检查sensor的flush硬件支持
在这里插入图片描述

2.1 检查错误输出信息

在这里插入图片描述

2.2 检查的功能代码

frameworks\base\core\java\android\hardware\SensorManager.java
frameworks\base\core\java\android\hardware\SystemSensorManager.java
frameworks\native\libs\sensor\SensorEventQueue.cpp
frameworks\native\services\sensorservice\SensorEventConnection.cpp

最终,调用SensorService中flushSensor方法,实际项目中遇到过 VirtualSensor 不支持cts失败,在这里可以判断规避
在这里插入图片描述

VTS:permission没有android.hardware.sensor.accelerometer.xml

网上没有搜到相同错误,这个理记录一下,检测明确提示vendor下没有android.hardware.sensor.accelerometer.xml,需要配置copy到vendor
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xhBruce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值