日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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测试错误分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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