如何通过adb shell 循环读取寄存器状态

本文介绍了一种通过shell脚本循环读取并监听特定寄存器状态变化的方法,适用于实时观察耳机插入与拔出的状态变化。通过此方法,可以避免重复手动执行命令,提高调试效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常我们需要读取手机某个寄存器状态时,会通过adb shell cat xx来读取。
不如读取耳机是否插入的寄存器:
adb shell cat sys/class/switch/h2w/state

##问题来了
上面的指令需要我们一次次输入才能显示,如果我们需要在插拔耳机下观察它的变化,就很难从上面实现了 。
##解决
通过编写shell脚本,并内置(或者push到system下,这个需要debug版本)。通过脚本来循环显示。
eg:

path=$1
echo "path is $path"

function getState(){
	new=`cat $path`
	if [ "$new" != "$old" ];then
	    echo "state is $new"
	    old=$new
	fi
	
	getState	
}

if [ -f "$path" ];then
    new=`cat $path`
    old=$new
    echo "state is $new"
    getHeadset
else
    echo "file is not exist"
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值