當通過adb鏈接手機自動化一些任務的時候,我們需要自動解鎖手機(也可以不只是密碼?)
下面的代碼是通過adb解鎖手機的代碼,僅供參考....
#!/bin/sh
PASSWORD=1234
STATE_OFF='OFF'
STATE_ON_LOCK='ON_LOCKED'
STATE_ON_UNLOCK='ON_UNLOCKED'
if [ $# > 1 ]; then
PASSWORD=$1
fi
statePhone(){
screenState=$(adb shell dumpsys nfc | grep 'mScreenState=' | awk -F= '{gsub(/\r/,"",$2);print $2}')
echo $screenState
}
lockPhone(){
screenState=`statePhone`
echo "the state is:"$screenState
if [ $screenState == $STATE_OFF ]; then
echo 'press power'
adb shell input keyevent 26
sleep 0.5
screenState=$STATE_ON_LOCK
fi
if [ $screenState == $STATE_ON_LOCK ]; then
echo 'swip up'
adb shell input touchscreen swipe 930 880 930 380
sleep 0.5
echo 'enter the password'
adb shell input text $PASSWORD
sleep 0.5
echo 'press the enter'
adb shell input keyevent 66
screenState=$STATE_ON_UNLOCK
fi
}
testCount=5
while(( $testCount > 0 ))
do
sleep 1
screenState=`statePhone`
if [ $screenState != $STATE_ON_UNLOCK ]; then
lockPhone
else
break
fi
testCount=$testCount-1
done
if [ $testCount > 0 ]; then
echo '開始處理自己的業務'
exit 0
fi