大数跨境
0
0

adb读写粘贴板工具推荐

adb读写粘贴板工具推荐 黄大官AOSP
2025-11-24
4
导读:背景有时候需要把手机上文本分享到电脑中,或者把某些文本复制到手机中,通常需要借助通信App来完成,或者通过编写

背景

有时候需要把手机上文本分享到电脑中,或者把某些文本复制到手机中,通常需要借助通信App来完成,或者通过编写一个文件,写入内容后通过adb push到手机,手机再打开文件获取内容。如果手机是一个测试设备,一般不会安装通信软件,要快速传递简单文本信息就非常麻烦。

作为一个开发者,手机基本上都是连接着电脑,所以推荐adb工具来完成上述操作。


工具推荐adb-clip

Clipboard access via adb shell. Supports Android 10-16.

地址:adb-clip

https://github.com/polygraphene/adb-clip

如何使用

adb push clip.jar clip /data/local/tmpadb shell chmod 755 /data/local/tmp/clip# Get clipboardadb shell /data/local/tmp/clip# Set clipboardadb shell "/data/local/tmp/clip 'Content here'"

首先到上述地址中进入release下载2个文件,一个clip,另一个clip.jar

下载完成后把文件推送到手机。直接复制上面命令完成。

按顺序执行一次,观察手机输入法是否提示有文本复制了粘贴板,或者手机复制文本后,电脑执行命令获取粘贴板数据。

到了这里已经解决了我们的需求,但是,当我需要获取手机粘贴板的数据时候还行,因为只需要执行

adb shell /data/local/tmp/clip

使用一个终端独立的tab重复执行命令即可。又或者编写一个alias,执行别名即可。

这是我的别名

alias getcb='adb shell /data/local/tmp/clip'
在终端输入getcb回车,就可以拿到手机粘贴板数据.

解决频繁写入

如果我写入某些数据到手机粘贴板,没一次都需要

adb shell "/data/local/tmp/clip '我输入的内容'"

每次替换这里的文本,整个输入过程需要优化。

当前我的系统macOS,Linux系统一样的。

在电脑中任意目录下创建一个sh文件,例如,adbclip.sh 内容是

#!/usr/bin/env bash# Wrapper to send text (with spaces/quotes) to /data/local/tmp/clip via adb.
if [ $# -eq 0 ]; then  echo "用法: $(basename "$0") <文本>" >&2  exit 1fi
content="$*"
# 使用 bash 的 %q 生成可被 /system/bin/sh 解析的安全参数(转义空格、单引号等)escaped=$(printf %q "$content")
adb shell "/data/local/tmp/clip $escaped"
文件保存后给权限
chmod a+x adbclip.sh
记录下来文件的绝对路径然后编写alias
# 文本写入到系统粘贴板alias cb='/Users/hello/android/shell/adbclip.sh'
更新环境变量后在终端可以这样使用
cb "I don't like you."
cb "是我   的信息"
cb hhhhhhh

必须使用""包裹,这样支持空格和英文''符号了。


如果简单的无空格的字符串直接忽略""


【声明】内容源于网络
0
0
黄大官AOSP
学习和分享Android,iOS,财务笔记,AOSP源码定制
内容 59
粉丝 0
黄大官AOSP 学习和分享Android,iOS,财务笔记,AOSP源码定制
总阅读61
粉丝0
内容59