手里一个项目需要执行个骚操作,其中有一个步骤是使用 ADB 来操作 Clipboard(粘贴板),搜索许久发现直接操作并不可行,确切的说是在 Android API >=11 时是不可行的。
操作环境:macOS Sierra 10.12.6 + iTerm2,一些命令可能会因系统等不同而略有不同,请自行测试。
前置知识点
首先了解下 ADB Shell 中的 service ,在命令行里执行能看到如下信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$ adb shell $ service Usage: service [-h|-?] service list service check SERVICE service call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR ] ... Options: i32: Write the 32-bit integer N into the send parcel. i64: Write the 64-bit integer N into the send parcel. f: Write the 32-bit single-precision number N into the send parcel. d: Write the 64-bit double-precision number N into the send parcel. s16: Write the UTF-16 string STR into the send parcel. $ service list | grep clipboard # If use windows system, use findstr: # service list | findstr "clipboard" 63 clipboard: [android.content.IClipboard]