adb shell input keyevent
adb shell sendevent
और adb shell sendevent
बीच मूल अंतर क्या है? एक चरित्र को इनपुट करने के लिए मुझे किस का उपयोग करना चाहिए? क्या हम दोनों आज्ञाओं को पास करने वाले कीकोड हैं?
adb shell input keyevent
event_code
द्वारा, या तो एक event_code
या string
को डिवाइस पर भेजा जाएगा।
usage: input [text|keyevent] input text <string> input keyevent <event_code>
event_code
लिए कुछ संभव मान हैं:
0 --> "KEYCODE_UNKNOWN" 1 --> "KEYCODE_MENU" 2 --> "KEYCODE_SOFT_RIGHT" 3 --> "KEYCODE_HOME" 4 --> "KEYCODE_BACK" 5 --> "KEYCODE_CALL" 6 --> "KEYCODE_ENDCALL" 7 --> "KEYCODE_0" 8 --> "KEYCODE_1" 9 --> "KEYCODE_2" 10 --> "KEYCODE_3" 11 --> "KEYCODE_4" 12 --> "KEYCODE_5" 13 --> "KEYCODE_6" 14 --> "KEYCODE_7" 15 --> "KEYCODE_8" 16 --> "KEYCODE_9" 17 --> "KEYCODE_STAR" 18 --> "KEYCODE_POUND" 19 --> "KEYCODE_DPAD_UP" 20 --> "KEYCODE_DPAD_DOWN" 21 --> "KEYCODE_DPAD_LEFT" 22 --> "KEYCODE_DPAD_RIGHT" 23 --> "KEYCODE_DPAD_CENTER" 24 --> "KEYCODE_VOLUME_UP" 25 --> "KEYCODE_VOLUME_DOWN" 26 --> "KEYCODE_POWER" 27 --> "KEYCODE_CAMERA" 28 --> "KEYCODE_CLEAR" 29 --> "KEYCODE_A" 30 --> "KEYCODE_B" 31 --> "KEYCODE_C" 32 --> "KEYCODE_D" 33 --> "KEYCODE_E" 34 --> "KEYCODE_F" 35 --> "KEYCODE_G" 36 --> "KEYCODE_H" 37 --> "KEYCODE_I" 38 --> "KEYCODE_J" 39 --> "KEYCODE_K" 40 --> "KEYCODE_L" 41 --> "KEYCODE_M" 42 --> "KEYCODE_N" 43 --> "KEYCODE_O" 44 --> "KEYCODE_P" 45 --> "KEYCODE_Q" 46 --> "KEYCODE_R" 47 --> "KEYCODE_S" 48 --> "KEYCODE_T" 49 --> "KEYCODE_U" 50 --> "KEYCODE_V" 51 --> "KEYCODE_W" 52 --> "KEYCODE_X" 53 --> "KEYCODE_Y" 54 --> "KEYCODE_Z" 55 --> "KEYCODE_COMMA" 56 --> "KEYCODE_PERIOD" 57 --> "KEYCODE_ALT_LEFT" 58 --> "KEYCODE_ALT_RIGHT" 59 --> "KEYCODE_SHIFT_LEFT" 60 --> "KEYCODE_SHIFT_RIGHT" 61 --> "KEYCODE_TAB" 62 --> "KEYCODE_SPACE" 63 --> "KEYCODE_SYM" 64 --> "KEYCODE_EXPLORER" 65 --> "KEYCODE_ENVELOPE" 66 --> "KEYCODE_ENTER" 67 --> "KEYCODE_DEL" 68 --> "KEYCODE_GRAVE" 69 --> "KEYCODE_MINUS" 70 --> "KEYCODE_EQUALS" 71 --> "KEYCODE_LEFT_BRACKET" 72 --> "KEYCODE_RIGHT_BRACKET" 73 --> "KEYCODE_BACKSLASH" 74 --> "KEYCODE_SEMICOLON" 75 --> "KEYCODE_APOSTROPHE" 76 --> "KEYCODE_SLASH" 77 --> "KEYCODE_AT" 78 --> "KEYCODE_NUM" 79 --> "KEYCODE_HEADSETHOOK" 80 --> "KEYCODE_FOCUS" 81 --> "KEYCODE_PLUS" 82 --> "KEYCODE_MENU" 83 --> "KEYCODE_NOTIFICATION" 84 --> "KEYCODE_SEARCH" 85 --> "TAG_LAST_KEYCODE"
sendevent
उपयोगिता स्पर्श या कुंजीपटल घटनाओं के साथ-साथ हार्डवेयर घटनाओं का अनुकरण करने के लिए अन्य घटनाएं भी भेजती है विवरण के लिए इस आलेख को देखें: एंड्रॉइड, स्क्रीन पर निम्न स्तर खोल क्लिक करें ।
अद्यतन कर रहा है:
adb shell input
का उपयोग करना:
टेक्स्ट डालें:
adb shell input text "insert%syour%stext%shere"
(obs:% s का अर्थ SPACE)
..
इवेंट कोड:
adb shell input keyevent 82
(82 —> मेनबुट्टन)
"अधिक कुंजीवेंस कोड के लिए नीचे दी गई सूची देखें"
..
एक्स, वाई स्थिति को टैप करें:
adb shell input tap 500 1450
सटीक एक्स, वाई की स्थिति जानने के लिए जिसे आप टैप करना चाहते हैं:
सेटिंग> डेवलपर विकल्प> विकल्प POINTER SLOCATION जांचें
..
कड़ी चोट X1 Y1 X2 Y2 [अवधि (एमएस)]:
adb shell input swipe 100 500 100 1450 100
इस उदाहरण में X1 = 100, Y1 = 500, X2 = 100, Y2 = 1450, अवधि = 100ms
..
लॉन्गप्रेस एक्सवाई:
adb shell input swipe 100 500 100 500 250
हम एक लंबे प्रेस का अनुकरण करने के लिए एक स्वाइप के लिए उसी आदेश का उपयोग करते हैं
इस उदाहरण में एक्स = 100, वाई = 500, अवधि = 250ms
..
इवेंट कोड अपडेट की गई सूची:
0 --> "KEYCODE_0" 1 --> "KEYCODE_SOFT_LEFT" 2 --> "KEYCODE_SOFT_RIGHT" 3 --> "KEYCODE_HOME" 4 --> "KEYCODE_BACK" 5 --> "KEYCODE_CALL" 6 --> "KEYCODE_ENDCALL" 7 --> "KEYCODE_0" 8 --> "KEYCODE_1" 9 --> "KEYCODE_2" 10 --> "KEYCODE_3" 11 --> "KEYCODE_4" 12 --> "KEYCODE_5" 13 --> "KEYCODE_6" 14 --> "KEYCODE_7" 15 --> "KEYCODE_8" 16 --> "KEYCODE_9" 17 --> "KEYCODE_STAR" 18 --> "KEYCODE_POUND" 19 --> "KEYCODE_DPAD_UP" 20 --> "KEYCODE_DPAD_DOWN" 21 --> "KEYCODE_DPAD_LEFT" 22 --> "KEYCODE_DPAD_RIGHT" 23 --> "KEYCODE_DPAD_CENTER" 24 --> "KEYCODE_VOLUME_UP" 25 --> "KEYCODE_VOLUME_DOWN" 26 --> "KEYCODE_POWER" 27 --> "KEYCODE_CAMERA" 28 --> "KEYCODE_CLEAR" 29 --> "KEYCODE_A" 30 --> "KEYCODE_B" 31 --> "KEYCODE_C" 32 --> "KEYCODE_D" 33 --> "KEYCODE_E" 34 --> "KEYCODE_F" 35 --> "KEYCODE_G" 36 --> "KEYCODE_H" 37 --> "KEYCODE_I" 38 --> "KEYCODE_J" 39 --> "KEYCODE_K" 40 --> "KEYCODE_L" 41 --> "KEYCODE_M" 42 --> "KEYCODE_N" 43 --> "KEYCODE_O" 44 --> "KEYCODE_P" 45 --> "KEYCODE_Q" 46 --> "KEYCODE_R" 47 --> "KEYCODE_S" 48 --> "KEYCODE_T" 49 --> "KEYCODE_U" 50 --> "KEYCODE_V" 51 --> "KEYCODE_W" 52 --> "KEYCODE_X" 53 --> "KEYCODE_Y" 54 --> "KEYCODE_Z" 55 --> "KEYCODE_COMMA" 56 --> "KEYCODE_PERIOD" 57 --> "KEYCODE_ALT_LEFT" 58 --> "KEYCODE_ALT_RIGHT" 59 --> "KEYCODE_SHIFT_LEFT" 60 --> "KEYCODE_SHIFT_RIGHT" 61 --> "KEYCODE_TAB" 62 --> "KEYCODE_SPACE" 63 --> "KEYCODE_SYM" 64 --> "KEYCODE_EXPLORER" 65 --> "KEYCODE_ENVELOPE" 66 --> "KEYCODE_ENTER" 67 --> "KEYCODE_DEL" 68 --> "KEYCODE_GRAVE" 69 --> "KEYCODE_MINUS" 70 --> "KEYCODE_EQUALS" 71 --> "KEYCODE_LEFT_BRACKET" 72 --> "KEYCODE_RIGHT_BRACKET" 73 --> "KEYCODE_BACKSLASH" 74 --> "KEYCODE_SEMICOLON" 75 --> "KEYCODE_APOSTROPHE" 76 --> "KEYCODE_SLASH" 77 --> "KEYCODE_AT" 78 --> "KEYCODE_NUM" 79 --> "KEYCODE_HEADSETHOOK" 80 --> "KEYCODE_FOCUS" 81 --> "KEYCODE_PLUS" 82 --> "KEYCODE_MENU" 83 --> "KEYCODE_NOTIFICATION" 84 --> "KEYCODE_SEARCH" 85 --> "KEYCODE_MEDIA_PLAY_PAUSE" 86 --> "KEYCODE_MEDIA_STOP" 87 --> "KEYCODE_MEDIA_NEXT" 88 --> "KEYCODE_MEDIA_PREVIOUS" 89 --> "KEYCODE_MEDIA_REWIND" 90 --> "KEYCODE_MEDIA_FAST_FORWARD" 91 --> "KEYCODE_MUTE" 92 --> "KEYCODE_PAGE_UP" 93 --> "KEYCODE_PAGE_DOWN" 94 --> "KEYCODE_PICTSYMBOLS" ... 122 --> "KEYCODE_MOVE_HOME" 123 --> "KEYCODE_MOVE_END"
कमांड की पूरी सूची यहां प्राप्त की जा सकती है: http://developer.android.com/reference/android/view/KeyEvent.html
इसके अलावा, यदि आप इनपुट कमांड के साथ एम्बेडेड स्पेस भेजना चाहते हैं, तो% s का उपयोग करें
adb shell input text 'this%sis%san%sexample'
निकलेगा
this is an example
इनपुट हो रहा है
%
बचने की आवश्यकता नहीं है – केवल विशेष %s
जोड़ी को विशेष रूप से व्यवहार किया जाता है यह निश्चित रूप से स्पष्ट रूप से सवाल उठाता है कि किस प्रकार से शाब्दिक स्ट्रिंग %s
दर्ज करें … जो आपको दो अलग-अलग आज्ञाओं के साथ करना होगा
वैसे, यदि आप उपकरण में दोहरे उद्धरण भेजने का कोई तरीका ढूंढने की कोशिश कर रहे हैं, तो निम्न प्रयास करें:
एडीबी शेल इनपुट पाठ '\ "'
मुझे यकीन नहीं है कि उद्धरणों के लिए कोई इवेंट कोड क्यों नहीं है, लेकिन यह समाधान नौकरी करता है इसके अलावा, यदि आप MonkeyDevice (या ChimpChat) का उपयोग कर रहे हैं तो आप प्रत्येक कारक का परीक्षण कर लें, इससे पहले कि आप monkeydevice टाइप करें, अन्यथा आपको कुछ भी नहीं मिलेगा जब आप "
एक अन्य अंतर:
एओएसपी फ्रेमवर्क के अंदर अधिक विस्तार कोड ट्रेस पाया जा सकता है:
http://www.srcmap.org/sd_share/4/aba57bc6/AOSP_adb_shell_input_Code_Trace.html#RefId=7c8f5285
मैंने विंडोज़ प्रयोक्ताओं के लिए एडीबी शेल इनपुट इवेंट्स के लिए कुंजी को मैप करने के लिए सरल पावरहेल स्क्रिप्ट लिखा था और लैन पर दूरस्थ रूप से एक एंड्रॉइड डिवाइस को नियंत्रित करें। मुझे नहीं पता कि कोई भी इसे उपयोगी बनाता है, लेकिन मैं इसे वैसे भी साझा कर दूँगा।
$ip = 192.168.1.8 cd D:\Android\android-sdk-windows\platform-tools\; .\adb.exe disconnect $ip; .\adb.exe connect $ip $adbKeyNum = @{LeftWindows = "1"; F1 = "3"; Enter = "66"; UpArrow = "19"; DownArrow = "20"; LeftArrow = "21"; RightArrow = "22"; Add = "24"; Subtract = "25"; Backspace = "4"; P = "26"} while(1 -eq 1){ $keyPress = [Console]::ReadKey($true).Key if ([string]$keyPress -eq "F10"){ .\adb.exe disconnect $ip exit } elseif ([string]$keyPress -eq "F6"){ $string = Read-Host -Prompt 'Input the string: ' .\adb.exe shell input text $string } elseif ($adbKeyNum.ContainsKey([string]$keyPress)){ echo $adbKeyNum.Get_Item([string]$keyPress) .\adb.exe shell input keyevent $adbKeyNum.Get_Item([string]$keyPress) } }