[android][sensor]如何禁用sensor\软摘除器件 以确定问题是否由sensor引起

当设备出现bug且怀疑与sensor有关时,可以通过禁用sensor的不同组件来排查问题。禁用方法包括修改注册表、删除json文件、禁用sensordaemon及删除固件。此外,还可以通过编辑源代码避免特定sensor线程启动,或者单独移除特定sensor的注册和编译。

当设备出现bug时,考虑到有可能是sensor引起,也有可能是其他器件引起的时候(一般是功耗相关的问题),我们需要禁用sensor来查看是否确为sensor引起,若确定是sensor引起的,还需要确定为哪一个sensor器件引起的,这时可以用摘除各个器件来定位问题。

如何禁用sensor

禁用sensor hal层

结果:sensor list 为空,adsp/slpi sensor 仍然会初始化,modem侧的子系统仍然可以获取sensor数据
禁用方法(bat脚本):注册表禁用sensor

adb root
adb wait-for-device
adb remount
adb shell "echo disable_sensors > /persist/sensors/registry/registry/sensors_settings"
adb shell sync
adb reboot

android 9 的禁用指令为:

adb shell "echo disable_sensors > /mnt/vendor/persist/sensors/sensors_settings"

禁用sensor core

该方法也可用于软移除单个sensor器件,去除对应的json文件即可
结果:sensor 驱动 init 失败,adsp/slpi仍运行
禁用方法(bat脚本):删除json文件及其生成的文件

adb root
adb wait-for-device
adb remount
adb shell rm -rf /persist/sensors/registry/registry
adb shell rm -rf /persist/sensors/registry/config
adb shell rm -rf 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霁之鸢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值