日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

android cts问题分析,一则CTS测试错误分析

發布時間:2023/12/20 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android cts问题分析,一则CTS测试错误分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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:but was: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(SetfeaturesLeft, String expectedFeature,

int expectedSensorType) {

assertTrue("Features left " + featuresLeft + " to check did not include "

+ expectedFeature, featuresLeft.remove(expectedFeature));

boolean hasSensorFeature = mPackageManager.hasSystemFeature(expectedFeature);

Listsensors = mSensorManager.getSensorList(expectedSensorType);

ListsensorNames = new ArrayList(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 \

總結

以上是生活随笔為你收集整理的android cts问题分析,一则CTS测试错误分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。