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
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部