Par adb shell input keyevent
, un event_code
ou un string
sera envoyé à l'appareil.
usage: input [text|keyevent]
input text <string>
input keyevent <event_code>
Certaines valeurs possibles pour event_code
sont:
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"
L' sendevent
utilitaire envoie des événements tactiles ou clavier, ainsi que d'autres événements pour simuler les événements matériels. Référez-vous à cet article pour plus de détails: Android, shell bas niveau cliquez sur l'écran .
>adb shell input text "a b"
mais ne travaille pas.Mise à jour:
En utilisant
adb shell input
:..
..
..
..
..
la source
adb shell input swipe 200 800 200 400 200
De plus, si vous souhaitez envoyer des espaces intégrés avec la commande d'entrée, utilisez% s
donnera
étant entrée.
%
lui-même n'a pas besoin de s'échapper - seule la%s
paire spéciale est traitée spécialement. Cela conduit bien sûr à la question évidente de savoir comment entrer la chaîne littérale%s
... ce que vous auriez à faire avec deux commandes distinctes.la source
atext "Hey, I'm here"
et cela fonctionne.Soit dit en passant, si vous essayez de trouver un moyen d'envoyer des guillemets doubles à l'appareil, essayez ce qui suit:
Je ne sais pas pourquoi il n'y a pas de code d'événement pour les guillemets, mais cette solution de contournement fait le travail. De plus, si vous utilisez MonkeyDevice (ou ChimpChat), vous devez tester chaque caractère avant d'appeler monkeyDevice.type, sinon vous n'obtiendrez rien lorsque vous essayez d'envoyer "
la source
atext "Hey, I'm here"
et cela fonctionne.Une autre différence:
Une trace de code plus détaillée dans le cadre AOSP peut être trouvée ici:
http://www.srcmap.org/sd_share/4/aba57bc6/AOSP_adb_shell_input_Code_Trace.html#RefId=7c8f5285
la source
J'ai écrit un simple script Powershell pour les utilisateurs de Windows afin de mapper les clés aux événements d'entrée du shell adb. Et contrôlez un appareil Android à distance via LAN. Je ne sais pas si quelqu'un le trouve utile, mais je le partagerai quand même.
la source
Si vous souhaitez envoyer un texte à un appareil spécifique lorsque plusieurs appareils sont connectés. Recherchez d'abord les appareils connectés à l'aide d' appareils adb
puis obtenez votre identifiant d'appareil spécifique et essayez ce qui suit
la source
Pour envoyer un appel de rechargement à une application React-Native exécutée sur un appareil Android:
adb shell input keyboard text "rr"
la source