adb命令傳送文字
場景:當需要向app文字框輸入大量內容,或者由於相容性問題導致手機按鍵失靈時,可以通過adb命令方式進行測試。
傳送字串
adb shell input text 字串
傳送ofollow,noindex">控制按鍵
adb shell input keyevent 控制按鍵輸入的數值
命令字元 | 釋義 | 數字代號 |
---|---|---|
KEYCODE_CALL | 進入撥號盤 | 5 |
KEYCODE_ENDCALL | 掛機鍵 | 6 |
KEYCODE_HOME | 按鍵Home | 3 |
KEYCODE_MENU | 選單鍵 | 82 |
KEYCODE_BACK | 返回鍵 | 4 |
KEYCODE_SEARCH | 搜尋鍵 | 84 |
KEYCODE_CAMERA | 拍照鍵 | 27 |
KEYCODE_FOCUS | 拍照對焦鍵 | 80 |
KEYCODE_POWER | 電源鍵 | 26 |
KEYCODE_NOTIFICATION | 通知鍵 | 83 |
KEYCODE_MUTE | 話筒靜音鍵 | 91 |
KEYCODE_VOLUME_MUTE | 揚聲器靜音鍵 | 164 |
KEYCODE_VOLUME_UP | 音量增加鍵 | 24 |
KEYCODE_VOLUME_DOWN | 音量減小鍵 | 25 |
KEYCODE_ENTER | 回車鍵 | 66 |
KEYCODE_ESCAPE | ESC鍵 | 111 |
KEYCODE_DPAD_CENTER | 導航鍵 確定鍵 | 23 |
KEYCODE_DPAD_UP | 導航鍵 向上 | 19 |
KEYCODE_DPAD_DOWN | 導航鍵 向下 | 20 |
KEYCODE_DPAD_LEFT | 導航鍵 向左 | 21 |
KEYCODE_DPAD_RIGHT | 導航鍵 向右 | 22 |
KEYCODE_MOVE_HOME | 游標移動到開始鍵 | 122 |
KEYCODE_MOVE_END | 游標移動到末尾鍵 | 123 |
KEYCODE_PAGE_UP | 向上翻頁鍵 | 92 |
KEYCODE_PAGE_DOWN | 向下翻頁鍵 | 93 |
KEYCODE_DEL | 退格鍵 | 67 |
KEYCODE_FORWARD_DEL | 刪除鍵 | 112 |
KEYCODE_INSERT | 插入鍵 | 124 |
KEYCODE_TAB | Tab鍵 | 61 |
KEYCODE_NUM_LOCK | 小鍵盤鎖 | 143 |
KEYCODE_CAPS_LOCK | 大寫鎖定鍵 | 115 |
KEYCODE_BREAK | Break/Pause鍵 | 121 |
KEYCODE_SCROLL_LOCK | 滾動鎖定鍵 | 116 |
KEYCODE_ZOOM_IN | 放大鍵 | 168 |
KEYCODE_ZOOM_OUT | 縮小鍵 | 169 |
利用命令“adb shell input keyevent <鍵值>”可以實現自動化。例如“adb shell input keyevent 3”就可以按下Home鍵。
執行返回:adb shell input keyevent 4
執行滅屏亮屏:adb shell input keyevent 26
執行解鎖螢幕:adb shell input keyevent 82
實戰
adb shell input text 123456
,輸入字串123456。
adb shell input keyevent KEYCODE_DEL
,每次刪掉一個字元。
覺得太慢,寫了個死迴圈:adb shell
進入手機的shell中,執行while true;do input keyevent KEYCODE_DEL;done
,逐個刪乾淨,然後嘗試按下CTRL_C
終止。再重新輸入卻出了問題,輸入後立刻消失。原來CTRL_C後,這貨跑後臺去了……輸入後,自動刪除-_-!!!
查了一下
,pidof sh
可以檢視後臺正在執行的程序的程序號,ps |grep 程序號
再確認一下具體程序內容。然後執行kill -9 xxxx
殺掉剛才寫的死迴圈程序。
再次驗證,輸入字串後就不會被刪了。
後續
探究CTRL_C/D/Z區別聯絡