uses the Android adb tool to send input. StdIn will be massaged to go trhu all the hops adb uses unchanged. Require python, but after that, it's as cross-platform as it goes, while using adb directly, you will have problems like not being able to send spaces in windows.
--fast Ignores the workaround of breaking up the longer strings into small batches. Works fine for simple inputs. Will fail if used on emulator with fields that do network lookup.
--notab Changes tabs into single spaces
-s Serial number of the device adb should use. Analogous to -s flag of adb (use
adb devices to see a list). Only needed if more than one device are available.
--file Next argument must be a filename. Content will be sent.
If --file is not used, all the next arguments will be sent
Can not use spaces in win32. Even with escaping.
C:\CODE\AdbPaste>adb shell input text "simple test" Error: Invalid arguments for command: text usage: input ... input text <string> input keyevent <key code number or name> input [touchscreen|touchpad|touchnavigation] tap <x> <y> input [touchscreen|touchpad|touchnavigation] swipe <x1> <y1> <x2> <y2> [d uration(ms)] input trackball press input trackball roll <dx> <dy>
Can not use bash keywords (i am sure i am using the word wrongly here), without escaping.
C:\CODE\AdbPaste>adb shell input text "simple(" /system/bin/sh: syntax error: '(' unexpected
Can not send a huge string as the emulator timesout and drop much of it.
Common solution to use a SMS and copy/paste is faster on an actual device, but less practical for running automated tests in the emulator. On automated tests it is easier to wait a few seconds than to deal with application switching and copy paste.
Converts espaces to its keycode. Escape bash keywords. Break longer strings in smaller groups.