scrcpy剪贴板同步原理及Bash脚本实现方案咨询
实现Bash脚本同步剪贴板到Android设备(支持Unicode,兼容Android 9+)
scrcpy剪贴板同步的核心原理
scrcpy之所以能完美同步含Unicode的剪贴板,是因为它没有用adb shell input text这种模拟键盘输入的方式,而是直接对接Android系统的剪贴板服务:
- 读取电脑剪贴板的原始文本(包括任意Unicode字符)
- 通过adb的内部通信机制,调用Android的
ClipboardManager系统服务,直接将文本写入设备剪贴板 - 最后模拟系统粘贴事件触发粘贴动作,全程绕过了键盘输入的字符编码限制
Bash脚本实现方案
前置依赖
- 已配置好
adb与设备的USB调试连接 - 电脑端安装剪贴板读取工具:Linux用
xclip,macOS用pbpaste,Windows用powershell - 设备未限制adb对系统服务的调用(默认USB调试开启状态下满足)
完整脚本
#!/bin/bash # 读取电脑剪贴板(根据系统替换命令) # Linux: xclip -selection clipboard -o # macOS: pbpaste # Windows: powershell -Command "Get-Clipboard" CLIPBOARD_CONTENT=$(xclip -selection clipboard -o) if [ -z "$CLIPBOARD_CONTENT" ]; then echo "剪贴板为空,无需同步" exit 0 fi # 尝试通过广播写入剪贴板(部分设备可用) adb shell "am broadcast -a clipper.set -e text '$CLIPBOARD_CONTENT'" 2>/dev/null # 广播失败则用app_process调用系统剪贴板服务(兼容Android 9+,scrcpy同款逻辑) if [ $? -ne 0 ]; then adb shell "echo ' import android.content.ClipboardManager; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; public class SetClipboard { public static void main(String[] args) { Context ctx = Context.createPackageContext(\"android\", Context.CONTEXT_IGNORE_SECURITY); ClipboardManager cm = (ClipboardManager) ctx.getSystemService(Context.CLIPBOARD_SERVICE); String text = String.join(\" \", args); if (!TextUtils.isEmpty(text)) { cm.setPrimaryClip(cm.newPlainText(null, text)); } } } ' | app_process /system/bin com.android.commands.am.Am start -n com.android.shell/.Shell --es args '$CLIPBOARD_CONTENT'" fi # 发送系统粘贴按键事件(KEYCODE_PASTE=279) adb shell input keyevent 279
关键细节说明
- 剪贴板读取:根据操作系统替换对应的读取命令,确保能获取到含Unicode的原始文本
- 双写入策略:
- 广播方式轻量但兼容性有限,适合部分无限制的设备
app_process调用Java代码是scrcpy底层使用的方法,直接对接系统ClipboardManager,完美支持所有Unicode字符,兼容Android 9及更高版本
- 模拟粘贴:使用Android标准的
KEYCODE_PASTE事件,比模拟Ctrl+V更适配不同厂商的设备
替代方案(更简单,需安装scrcpy)
如果已经安装了scrcpy,直接用官方提供的命令即可,这是最可靠的方式:
#!/bin/bash CLIPBOARD_CONTENT=$(xclip -selection clipboard -o) scrcpy --push-clipboard "$CLIPBOARD_CONTENT" adb shell input keyevent 279
内容的提问来源于stack exchange,提问作者Tycho
相关产品推荐
相关产品推荐

