APK无法识别gsensor问题剖析

APK无法识别gsensor问题的原因有很多,这里只是提供一条思路,解决现有项目遇到的问题。


1、确保驱动层可以工作。

2、打印LOGCAT数据,分析sensorservice流程


1、移植流程:

步骤:
移植gsensor驱动,mc3413,大概步骤如下:

1、移植kernel驱动文件;

2、修改HAL层文件

vendor\sprd\open-source\libs\libsensors_sprd\Acc_Mc3xxx.cpp

3、修改device\sprd\scx35l\sp9820w_6c10\BoardConfig.mk 


USE_SPRD_SENSOR_LIB := true
BOARD_HAVE_ACC := Mc3xxx
BOARD_ACC_INSTALL := 6

4、修改权限:

device\sprd\scx35l\common\sepolicy\file_contexts增加:/dev/mc3xxx u:object_r:sensors_device:s0
device\sprd\scx35l\common\rootdir\root\ueventd.sc8830.rc 增加:/dev/mc3xxx  0660   system  system

现象:


现在kernel部分已经可以工作,通过getevent -rl 可以获取gsensor数据:

add device 1: /dev/input/event0
  name:     "sci-keypad"
add device 2: /dev/input/event4
  name:     "headset-keyboard"
add device 3: /dev/input/event3
  name:     "mc3xxx_accelerometer"
add device 4: /dev/input/event1
  name:     "HALL"
add device 5: /dev/input/event2
  name:     "sprd-gpio-keys"

/dev/input/event3: EV_ABS       ABS_X               fffffff7
/dev/input/event3: EV_ABS       ABS_Y               fffffff4
/dev/input/event3: EV_ABS       ABS_Z               000003e1
/dev/input/event3: EV_SYN       SYN_REPORT          00000000

使用sensor test apk测试加速度传感器无法识别。也尝试了几种其他的手机传感器APK无法识别。

 

 

2、分析与解决

 

①抓取HALL层的log

使用展讯工程模式*#83781#*#*,进入log设置,选择slog,抓取log。

或者直接使用adb 抓取logcat

Z:\project\hk811\idh.code\vendor\sprd\open-source\libs\libsensors_sprd\Acc_Mc3xxx.cpp

里面的log并没有搜到!!

 

继续搜索

Z:\project\hk811\idh.code\vendor\sprd\open-source\libs\libsensors_sprd\sensors.cpp



Z:\project\hk811\idh.code\frameworks\native\services\sensorservice\SensorDevice.cpp

 

②分析sensorservice

Z:\project\hk811\idh.code\frameworks\native\services\sensorservice\SensorService.cpp

logcat中搜索nuSensorServicestarting

 

发现了并没有找到HAL层的.so文件!

检查Z:\project\hk811\idh.code\vendor\sprd\open-source\libs\libsensors_sprd\Android.mk

 

使用adb 查找system/lib下面发现了

 

一般的硬件的hal层都会放在system/lib/hw下面,修改android.mk

重新编译模块,放到system/lib/hw,问题解决!



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GSensor Debug APK是一款用于调试和测试智能设备重力传感器的应用程序。在智能设备中,重力传感器用于检测设备的姿态和动作,这对于许多应用程序和游戏来说是非常重要的。 GSensor Debug APK可以帮助开发人员和测试人员进行重力传感器的调试和测试。它提供了一系列功能,以检测和显示重力传感器的数据。 首先,GSensor Debug APK可以实时显示设备的加速度数据。加速度数据是重力传感器最常用的输出之一,它可以告诉我们设备的加速情况。通过查看实时数据,我们可以确保重力传感器的工作正常,以及传感器是否能够准确地检测设备的加速度。 其次,GSensor Debug APK还可以提供设备的姿态数据。姿态数据包括设备的滚动、俯仰和偏航角度,可以告诉我们设备的方向和方位。通过检查姿态数据,我们可以判断重力传感器是否准确地检测设备的方向,并且在设备的旋转或倾斜过程中是否响应良好。 此外,GSensor Debug APK还可以提供一些功能,例如数据记录和图表显示。通过数据记录功能,我们可以记录重力传感器的数据,并进行后续分析。图表显示功能可以将数据以图表的形式展示,使得我们可以更直观地了解重力传感器的工作情况。 总的来说,GSensor Debug APK是一款非常实用的应用程序,可以帮助开发人员和测试人员对设备的重力传感器进行调试和测试。它提供了多种功能,以确保重力传感器的正常工作,并能够准确地检测设备的姿态和加速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值