adb unlock

當通過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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章