दिलचस्प पोस्ट
C / Objective-C में कई पंक्तियों में एक स्ट्रिंग को अक्षरशः विभाजित कैसे करें? फ़ंक्शन परिणाम डिफरेंसिंग के लिए PHP सिंटैक्स डिफ़ॉल्ट रूप से सबमिट किए गए HTML फ़ॉर्म पर बटन कैसे सबमिट करें? ये जावास्क्रिप्ट bitwise ऑपरेटर्स क्या करते हैं? क्या आईपी पते के लिए SSL प्रमाणपत्र होना संभव है, न कि डोमेन नाम? क्यों उदाहरण संकलन नहीं करता है, उर्फ ​​कैसे करता है (सह-, अनुबंध-, और इन-) विचरण कार्य? सास अमान्य सीएसएस त्रुटि: "अपेक्षित अभिव्यक्ति" केवल एमवीसी में चाइल्डएक्शन का उपयोग करना HtmlUnit चेतावनियां बंद करना कैसे iPhone पर एक रंगीन 1×1 UIImage गतिशील बनाने के लिए? कस्टम नोटिफिकेशन बनाएं, एंड्रॉइड "Typename" कीवर्ड कब आवश्यक है? अजीब जावा व्यवहार के साथ आदिम प्रकार के लिए डाले सबसे अच्छा ओपन सोर्स जावा चार्टिंग लाइब्रेरी क्या है? (jfreechart के अलावा) एक विशेष टुकड़ा तक पहुंचने के लिए एक NSString को विभाजित करें

एडीबी शैल इनपुट इवेंट्स

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 टाइप करें, अन्यथा आपको कुछ भी नहीं मिलेगा जब आप "

एक अन्य अंतर:

  • " एडीबी खोल इनपुट " इनपुट को कॉल कर रहा है, जो कि एंड्रॉइड फ्रेमवर्क के जावा परत से कीकोड को संसाधित करने और भेजना है।
  • " एडीबी सेंडवेंट " वास्तव में सी कोड है (टूलबॉक्स उपयोगिता का हिस्सा) जो कि इनपुट कोड सीधे / dev / input …. में लिनक्स इनपुट सबसिस्टम में भेजता है।

एओएसपी फ्रेमवर्क के अंदर अधिक विस्तार कोड ट्रेस पाया जा सकता है:

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) } }