概述
错误如下
-- testSensorFeatures |
fail
|
junit.framework.AssertionFailedError: PackageManager#hasSystemFeature(android.hardware.sensor.gyroscope) returns false but SensorManager#getSensorList(4) shows sensors [MPL Gyroscope, MPL Raw Gyroscope, Corrected Gyroscope Sensor] expected:<false> but was:<true>at android.app.cts.SystemFeaturesTest.assertFeatureForSensor(SystemFeaturesTest.java:300)
|
分析:硬件和软件上实际已经支持该sensor(gyroscope)。只是CTS报错而已。看来应该什么地方出现匹配问题了。
谷了一下歌,就明白了。
/system/etc/permissions/目录中需要包含这些硬件对应的xml文件。cts测试时会基于这些文件检查sensor list是否和这个匹配。
上述错误就是因为在/system/etc/permissions/目录中没有检查到gyroscope的对应文件,而在sensor list中却发现有这个sensor存在。所以报错!
解决,既然的确有这个sensor存在,那就在/system/etc/permissions/中加入这个sensor对应的xml文件即可。
这些文件都在 frameworks/native/data/etc/中。只要在base.mk文件中加入这样的拷贝动作即可。
diff --git a/aaxxxxbb/base.mk b/aaxxxxbb/base.mk
index 77cc195..0157f0e 100755
--- a/aaxxxxbb/base.mk
+++ b/aaxxxxbb/base.mk
@@ -117,6 +117,7 @@ PRODUCT_COPY_FILES :=
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml
frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml
+ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.xml
frameworks/native/data/etc/android.hardware.touchscreen.xml:system/etc/permissions/android.hardware.touchscreen.xml
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml
最后
以上就是火星上小伙为你收集整理的CTS: testSensorFeatures FAIL 的解决的全部内容,希望文章能够帮你解决CTS: testSensorFeatures FAIL 的解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复