You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本调用ADB input keyevent 279无法获取安卓剪贴板内容求助

解决Python脚本获取安卓模拟器剪贴板内容的问题

你当前用的input keyevent 279只是模拟粘贴按键操作,这个命令本身不会输出剪贴板里的内容,所以stdout为空是正常的。要获取剪贴板文本,得用专门读取剪贴板的ADB命令,以下是两种可行方案:

方案一:适用于Android 10及以上版本

直接使用系统提供的cmd clipboard get命令读取剪贴板:

super().tap(978, 537) # 点击屏幕
super().tap(193, 686) # 点击复制按钮
# 读取剪贴板内容
ret = subprocess.run(f'{adb_path} -s 127.0.0.1:5556 shell cmd clipboard get', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 解码并去除多余空白字符
clipboard_content = ret.stdout.decode('utf-8').strip()
print(clipboard_content)

方案二:适用于Android 9及以下旧版本

通过content provider查询剪贴板数据:

super().tap(978, 537) # 点击屏幕
super().tap(193, 686) # 点击复制按钮
# 查询剪贴板内容
ret = subprocess.run(f'{adb_path} -s 127.0.0.1:5556 shell content query --uri content://clipboard --projection text', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = ret.stdout.decode('utf-8').strip()
# 解析输出提取文本
clipboard_content = output.split('text=')[-1].strip() if 'text=' in output else ''
print(clipboard_content)

另外注意你代码里的两个小问题:

  • print(ret.decode('uft-8')少了闭合的右括号,应该改成print(ret.stdout.decode('utf-8'))
  • 编码拼写错误,是utf-8不是uft-8

内容的提问来源于stack exchange,提问作者Pietro Leon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:46:05