这是我用来解锁屏幕的命令吗?
adb wait-for-device shell input keyevent 82
#1 楼
好了,等待设备,因为您已经意识到,只能等待直到adb守护程序正确启动。这已经是初始化时间了。为了检查启动是否完整,您可以在脚本中添加以下内容:伪指令:
wait-for-device
long作为getprop sys.boot_completed!= 1睡眠几秒钟
再次检查getprop sys.boot_completed
这应该起作用。
像这样:
#!/bin/bash
adb wait-for-device
A=$(adb shell getprop sys.boot_completed | tr -d '\r')
while [ "$A" != "1" ]; do
sleep 2
A=$(adb shell getprop sys.boot_completed | tr -d '\r')
done
adb shell input keyevent 82
未经测试,因此请注意潜在的错误
#2 楼
这是一个老问题,离题很近,但是这里是如何单行执行的方法:adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82'
#3 楼
这是我想出的:adb wait-for-device shell <<ENDSCRIPT
echo -n "Waiting for device to boot "
echo "" > /data/local/tmp/zero
getprop dev.bootcomplete > /data/local/tmp/bootcomplete
while cmp /data/local/tmp/zero /data/local/tmp/bootcomplete; do
{
echo -n "."
sleep 1
getprop dev.bootcomplete > /data/local/tmp/bootcomplete
}; done
echo "Booted."
exit
ENDSCRIPT
echo "Waiting 30 secs for us to be really booted"
sleep 30
echo "Unlocking screen"
adb shell "input keyevent 82"
评论
请修改您的答案以使其易于阅读。您有一个有效的答案,但稍作澄清将对每个人有所帮助。谢谢
–HasH_BrowN
2014年9月30日16:09
答案现在已编辑。希望这对您有所帮助:)
–除以零
2014年10月6日14:58
好的答案+1,现在其他人将可以跟随它。对于那些偶然的时刻,请不要忘记添加“始终执行备份”;)
–HasH_BrowN
14-10-6在16:10
我发现getprop的结果后面有一个回车符,因此将adb命令更改为$(adb shell getprop sys.boot_completed | tr -d'\ r')可以解决问题。这只是修剪回车符。
–CoatedMoose
2015年1月5日在21:28
@除以零,请修改您的答案以包括CoatedMoose提及的修整。 Umang也请接受它作为答案。
–贾西希尔·戴夫(Jayshil Dave)
2015年6月4日,12:26