一则CTS测试错误分析
来源:互联网 发布:怎么自学淘宝运营 编辑:程序博客网 时间:2024/06/13 05:39
CTS测试传感器发现失败,具体错误是PackageManager找不到,SensorManager确能找到
cts_host > start --plan CTS -t android.app.cts.SystemFeaturesTest#testSensorFeatures
start test android.app.cts.SystemFeaturesTest#testSensorFeatures
==============================================================
Test package: android.app
android.app.cts.SystemFeaturesTest#testSensorFeatures...(fail)
junit.framework.AssertionFailedError: PackageManager#hasSystemFeature(android.hardware.sensor.accelerometer) returns false but SensorManager#getSensorList(1) shows sensors [3-axis Accelerometer] expected:<false> but was:<true> at android.app.cts.SystemFeaturesTest.assertFeatureForSensor(SystemFeaturesTest.java:295)
at android.app.cts.SystemFeaturesTest.assertFeatureForSensor(SystemFeaturesTest.java:295)
at android.app.cts.SystemFeaturesTest.testSensorFeatures(SystemFeaturesTest.java:213)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
at android.app.cts.SystemFeaturesTest.assertFeatureForSensor(SystemFeaturesTest.java:295)
at android.app.cts.SystemFeaturesTest.testSensorFeatures(SystemFeaturesTest.java:213)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
==============================================================
Time: 5177129.236s
cts_host >
PackageManager找不到传感器,说明错误出在PM身上。
查看CTS测试代码,如红色所示,当expectedFeature为FEATURE_SENSOR_ACCELEROMETER时,返回错误。
private void assertFeatureForSensor(Set<String> featuresLeft, String expectedFeature,
int expectedSensorType) {
assertTrue("Features left " + featuresLeft + " to check did not include "
+ expectedFeature, featuresLeft.remove(expectedFeature));
boolean hasSensorFeature = mPackageManager.hasSystemFeature(expectedFeature);
List<Sensor> sensors = mSensorManager.getSensorList(expectedSensorType);
List<String> sensorNames = new ArrayList<String>(sensors.size());
for (Sensor sensor : sensors) {
sensorNames.add(sensor.getName());
}
boolean hasSensorType = !sensors.isEmpty();
String message = "PackageManager#hasSystemFeature(" + expectedFeature + ") returns "
+ hasSensorFeature
+ " but SensorManager#getSensorList(" + expectedSensorType + ") shows sensors "
+ sensorNames;
assertEquals(message, hasSensorFeature, hasSensorType);
}
这个字串系统中是有的,但是hasSystemFeature需要检查权限,需要将frameworks/base/data/etc/android.hardware.sensor.accelerometer.xml文件添加进目标板。
frameworks/base/core/java/android/content/pm/PackageManager.java:727:
public static final String FEATURE_SENSOR_ACCELEROMETER = "android.hardware.sensor.accelerometer";
最终在mk中添加以下内容解决问题。
frameworks/base/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
- 一则CTS测试错误分析
- android cts测试和结果分析
- android自动化测试CTS源码分析之一
- androidN 打印cts测试fail问题分析
- cts 测试
- cts 测试
- CTS测试
- CTS 测试
- CTS测试
- cts测试
- Android兼容性测试CTS --环境搭建、测试执行、结果分析
- android自动化测试CTS源码分析之二
- android自动化测试CTS源码分析之三
- android自动化测试CTS源码分析之四
- android自动化测试CTS源码分析之五
- Android CTS 测试研究
- Android的CTS测试
- Android的CTS测试
- 解决your project contains error(s),please fix them before running your applicati
- TWaver图形界面之道(五)Hello TWaver
- S3C6410 ADS1.2 下裸奔 4----系统启动代码的改进
- 【就你不知道-Java 适配器模式】
- vc6下编译ffmpeg的错误
- 一则CTS测试错误分析
- iOS内存暴增问题追查与使用陷阱
- cmake中连接库的顺序
- java IO流之一 IO流介绍
- Java Web Start实践:动态生成JNLP
- ios获得通讯录中联系人的所有属性
- 三年后再反思我的" Java Web项目管理得失谈"(转载)
- dlna 的思路
- wec7 Shaders.dll 找不到的错误