路过、膜拜
scrcpy
—— 开源、Android设备投屏工具,
支持 通过 USB
或TCP
/IP
,手机📱屏幕镜像 投到 电脑💻 实现键盘⌨️鼠标🖱控制。
tips:无需
root
权限,跨平台运行(window, macOS, Linux)。
Scrcpy
读音:[skriːpɪ]
意思:屏幕拷贝
作用:用于使计算机用户能通过android ADB或通过USB数据线控制其Android设备。
支持:支持通过鼠标和键盘对Android设备操作。
优势:无需root权限。
效果贴图
对我们前端来讲,让我们做一个跨平台的投屏的桌面应用,并且要求支持Windows
以及MacOS
系统、Linux
等等平台的,那么极力推荐试试Scrcpy
。
首先,它通过usb
手机连接电脑,没问题;其次,通过wifi隔空投屏更是没得说。
并且,它不需要任何root
权限,这个是很重要的。有的手机它root有点麻烦,甚至有的是难搞到最后发现没有办法的。那么这个就特别方便对于我们来讲。
正文
安装指南
Windows用户
- 访问GitHub仓库的Releases页面
- 下载
scrcpy-win64-vX.XX.zip
压缩包 - 解压后即可使用,无需安装
Linux用户
- Debian/Ubuntu:
apt install scrcpy
- Arch Linux: 通过AUR安装
- Fedora: 通过COPR仓库安装
macOS用户
brew install scrcpy
brew install android-platform-tools
使用教程
基本配置
- 在手机上启用开发者选项
- 开启USB调试和USB安装
- 通过USB连接电脑
基本使用
- 直接双击可执行文件(Windows)
- 或通过命令行执行
scrcpy
无线连接
- 确保设备和电脑在同一WiFi网络
- 首次需要通过USB连接执行:
scrcpy --tcpip
- 之后可通过WiFi直接连接:
scrcpy -e
高级功能
显示设置
- 调整大小:
scrcpy -m 1024
(限制宽高为1024) - 改变码率:
scrcpy -b 2M
(设置为2Mbps) - 锁定方向:
scrcpy --lock-video-orientation 0
(0为自然方向)
录制功能
scrcpy --record file.mp4
# 或仅录制不显示
scrcpy --no-display --record file.mp4
多设备支持
scrcpy --serial 0123456789abcdef
# 或通过IP
scrcpy --serial 192.168.0.1:5555
快捷键参考
操作 | 快捷键 |
---|---|
切换全屏 | MOD+f |
调整窗口为1:1 | MOD+g |
点击HOME键 | MOD+h |
点击返回键 | MOD+b |
点击电源键 | MOD+p |
关闭设备屏幕 | MOD+o |
旋转设备屏幕 | MOD+r |
复制到剪贴板 | MOD+c |
粘贴 | MOD+v |
前端咋用起来
桌面应用eletron
,实现点击投屏手机屏幕。
通过 ProcessManager
启动 scrcpy
:
import { ProcessManager } from '$electron/helpers/index.js'
async function mirror(serial, { title, args = '', exec = false, ...options } = {}) {
const commands = `"${scrcpyPath}" --serial ${serial} ${args}`
const process = new ProcessManager({
command: exec ? commands : `"${adbPath}" shell ${commands}`,
title: title || `scrcpy ${serial}`,
...options
})
await process.start()
return process
}
// 停止特定设备的镜像
async function stopMirror(serial) {
const process = ProcessManager.getProcess(`scrcpy ${serial}`)
if (process) {
await process.kill()
}
}
ProcessManager 的核心作用
ProcessManager
主要负责:
- 启动进程(如
scrcpy
或adb
) - 监控进程状态(是否运行、是否崩溃)
- 停止进程(主动终止或超时终止)
- 处理进程输出(stdout/stderr)
- 管理多进程(避免重复启动同一设备)
执行 scrcpy 命令的两个方法:shell 和 execShell。