闲置Android手机变云服务器?ScrcpyOverWebRTC一键搞定
手里有多台闲置 Android 手机,能不能像云服务器一样集中管理?本文介绍 ScrcpyOverWebRTC:通过 WebRTC + Scrcpy 将真实 Android 设备接入网页管理台,实现远程控制、设备群控、文件管理、Shell 终端、免密分享和卡密授权。
前言
很多开发者手里都有几台闲置 Android 手机。
这些设备可能是以前使用的旧手机,也可能是专门用于应用测试的真机。单独使用一两台设备并不麻烦,但设备数量增加后,日常管理很快就会遇到问题:
- 每次操作都要寻找对应的数据线;
- 多台手机来回切换非常麻烦;
- 远程办公时无法访问公司里的测试机;
- 不同成员共用设备时需要反复交接;
- 查看日志、执行命令、传输文件需要切换多个工具;
- 管理员账号不方便直接交给临时使用者。
一种更方便的思路是:把这些 Android 真机接入统一的云手机管理平台,通过浏览器集中查看和控制。
本文介绍的 ScrcpyOverWebRTC(穿云投屏),就是一套面向真实 Android 设备的远程控制和群控方案。
相关地址:
- GitHub:GitHub - hqw700/ScrcpyOverWebRTC: A high-performance, web-based Android remote control solution powered by scrcpy and WebRTC. Control your devices with ultra-low latency directly from your browser. · GitHub
- 使用文档:ScrcpyOverWebRTC (CloudPhone) 官方指南与帮助文档 | ScrcpyOverWebRTC Docs
一、把真机变成“云手机”是什么意思?
这里的云手机并不是在服务器中虚拟出 Android 系统,而是将真实 Android 手机作为被控设备接入平台。
手机仍然负责运行 Android 系统和应用,管理平台主要负责:
- 获取设备画面;
- 将画面实时传输到浏览器;
- 接收浏览器中的触控和按键操作;
- 管理设备状态、标签和访问权限;
- 提供文件、终端、快照和群控等辅助功能。
这种方案可以保留真机的硬件、系统和应用环境,适合需要真实设备表现的测试与调试场景。
二、为什么选择 WebRTC + Scrcpy?
Scrcpy 是 Android 开发者熟悉的投屏与控制工具,具有延迟低、画面流畅、不需要在手机中安装完整投屏客户端等特点。
WebRTC 则常用于浏览器实时音视频通信,具备低延迟传输、网络协商和 NAT 穿透能力。
ScrcpyOverWebRTC 将两者结合:
- Scrcpy 负责设备画面与控制;
- WebRTC 负责实时媒体传输;
- 网页管理台负责设备管理和用户交互;
- Agent 负责 Android 设备接入;
- STUN/TURN 用于不同网络环境下的连接协商和中转。
最终效果是:用户可以在浏览器中直接连接 Android 设备,不必在每台管理电脑上安装独立的桌面投屏软件。
三、网页设备矩阵:多台手机集中管理
设备接入后,管理台会以卡片形式展示多台手机。
相比一台设备打开一个窗口,设备矩阵更适合批量管理:
- 快速查看设备是否在线;
- 同时预览多台手机画面;
- 根据名称或标签筛选设备;
- 进入单台设备进行精细控制;
- 选择主控和从控设备执行同步操作;
- 统一调整设备画质参数。
对于 Android 兼容性测试、设备实验室和多机运维场景,网页矩阵可以显著减少寻找设备和切换窗口的时间。
四、群控功能能解决什么问题?
群控是云手机平台中比较直观的一项能力。
用户选择一台主控设备和多台从控设备后,可以将主控端的部分操作同步到从控设备。
例如:
- 同时打开指定应用;
- 执行统一的页面操作;
- 调整多台测试机的基础设置;
- 在相同环境中重复测试步骤;
- 快速检查不同设备的界面表现。
群控并不意味着所有机型都能做到完全像素级同步。不同设备的屏幕比例、分辨率、Android 版本、系统动画和应用状态可能不同,因此更适合操作路径一致、设备环境接近的场景。
在正式批量操作前,建议先选两台测试设备验证操作结果。
五、v0.3.2:手机端可以管理文件了
远程控制设备不仅是“看画面、点屏幕”,开发和测试过程中还经常需要处理文件。
ScrcpyOverWebRTC v0.3.2 为 Android App 增加了文件管理功能,可以覆盖更多设备维护场景:
- 查看测试日志;
- 检查应用导出的文件;
- 管理下载目录;
- 准备测试素材;
- 核对文件是否生成成功;
- 清理不再需要的临时文件。
这样一来,用户不必为了简单的文件操作频繁切换 ADB 工具或第三方文件管理软件。
文件权限会受到 Android 系统版本、Agent 运行身份和目录权限限制。涉及业务数据和用户隐私时,应当遵循最小权限原则。
六、v0.3.2:新增 Shell 终端
Android App 中新增的 Shell 终端,可以用于设备状态检查和开发调试。
常见命令示例:
查看系统版本
getprop ro.build.version.release
查看设备型号
getprop ro.product.model
查看存储空间
df -h
查看应用安装路径
pm path <应用包名>
查看当前进程
ps -A
查看设备基本状态
dumpsys battery
Shell 能执行哪些命令,取决于设备的 Android 版本以及 Agent 当前拥有的 ADB、Shizuku 或 Root 权限。
不要直接执行来源不明的命令。删除文件、修改系统设置和停止系统进程前,应先了解命令影响并备份重要数据。
七、免密分享:无需交出管理员账号
团队共用设备时,最不推荐的方式就是直接把管理员账号和密码发给所有人。
管理员账号往往拥有全部设备和平台配置权限。一旦账号泄露,影响范围可能不只是某一台测试机。
v0.3.2 增加了免密分享机器功能。管理员可以分享指定设备,让其他用户更快捷地访问目标机器,而不需要获取平台主账号。
适合的场景包括:
- 临时分享一台设备给开发人员;
- 给客户演示指定测试环境;
- 远程协助排查某台手机的问题;
- 在团队内部按需分配设备;
- 为短期测试提供访问入口。
需要强调的是,“免密访问”并不等于“公开访问”。分享链接本身就是一种凭据,应当妥善保管:
- 不要发布到公开网站;
- 不要长期保留不再使用的分享;
- 分享前清理设备中的敏感信息;
- 公网环境必须使用 HTTPS;
- 定期检查有效分享记录;
- 发现泄露后及时撤销。
八、卡密登录:让设备授权更灵活
除了免密分享,v0.3.2 还加入了卡密登录。
卡密可以作为独立的访问凭据,用于向用户提供登录或设备使用权限。它比较适合需要临时授权、批量分配和后续回收的场景。
卡密系统可以减少直接共享管理员账号的情况,但卡密本身仍然属于敏感凭据。
建议在设计使用流程时考虑:
- 卡密是否需要设置有效期;
- 是否限制可访问的设备;
- 是否限制使用次数;
- 是否能够单独作废;
- 是否记录必要的访问日志;
- 是否避免在日志中保存完整明文卡密。
实际支持的卡密字段和权限范围,以 v0.3.2 管理台界面及官方文档为准。
九、Android 设备有哪些接入方式?
不同设备环境可以选择不同的 Agent 运行方式。
方式一:ADB 一键部署
适合初次体验、开发调试和临时使用。
特点:
- 不需要 Root;
- 需要开启 USB 调试;
- 首次部署通常需要连接电脑;
- 适合先验证平台功能。
方式二:Root 或 Shizuku
Android App 被控端支持 Root 和 Shizuku 等运行方式。
Root 设备可以获得更高权限;没有 Root 的 Android 11+ 设备,可以考虑通过无线调试激活 Shizuku 并完成授权。
具体能力受到系统和权限限制,建议使用测试机验证。
方式三:Magisk、KernelSU 或 APatch 模块
适合需要长期在线和开机自启的固定设备。
v0.3.2 对 Magisk 模块配置进行了精简,只保留三个必要配置项,降低了首次部署难度。
系统模块拥有较高权限,刷入前应确认设备兼容性并备份重要数据。
十、管理平台如何部署?
ScrcpyOverWebRTC 提供管理台发布包,也提供 Docker 部署方式。
如果使用 Linux 主机,并且在局域网内运行或拥有独立公网 IP,可以参考下面的 Host 网络模式:
docker run -d \
--pull=always \
--rm \
--name cp-aio \
--net=host \
-v ./data:/app/data \
-e PUBLIC_IP=<宿主机真实IP> \
buutuu/scrcpy-over-webrtc:latest
启动后通过浏览器访问:
https://<宿主机IP>:8443
首次部署建议优先在局域网内测试。确认设备连接、画面传输和控制功能正常后,再根据实际需求配置公网访问。
生产环境必须修改默认管理员密码、TURN 用户名和 TURN 密码,并使用可信 HTTPS 证书。
十一、没有 Docker 也可以运行
不希望安装 Docker 的用户,可以下载完整管理台发布包:
发布包提供多个系统和处理器架构的运行文件。具体启动方式以压缩包说明和官方文档为准。
非 Docker 版本与 Docker AIO 镜像在内置组件和网络配置方面可能存在差异。跨 NAT 使用时,需要特别关注 STUN/TURN 配置。
十二、v0.3.2 下载地址
Android App
文件名:ScrcpyOverWebRTC-v0.3.2-release.apk
下载地址:
主要功能:
- 主控与被控模式;
- 文件管理;
- Shell 终端;
- 免密分享机器;
- 卡密登录。
管理台
文件名:cloudphone-v0.3.2.zip
下载地址:
主要功能:
- 网页设备管理;
- 多设备矩阵;
- 远程控制与群控;
- 免密分享机器;
- 卡密登录。
Magisk 模块
文件名:cloudphone-agent-magisk-v0.3.2.zip
下载地址:
主要改进:
- 配置项进一步精简;
- 只保留三个必要配置;
- 适合长期运行和开机自启。
十三、实际使用建议
如果你准备搭建自己的云手机环境,可以按照下面的顺序操作:
- 准备一台没有个人敏感数据的 Android 测试机;
- 在局域网内部署管理台;
- 使用 ADB 方式完成首次接入;
- 验证画面、控制、文件和 Shell 功能;
- 使用另一台设备测试分享和卡密登录;
- 检查分享权限和撤销流程;
- 确认功能稳定后,再接入更多设备;
- 长期在线设备再考虑安装 Magisk 模块;
- 公网部署前完成账号、HTTPS 和防火墙配置。
不要一开始就把所有设备和管理端口暴露到公网。先在可信网络中验证,是更稳妥的做法。
十四、适用场景
这套云手机平台更适合合法、合规的设备管理和开发测试用途,例如:
- Android 应用兼容性测试;
- 企业内部真机实验室;
- 开发者远程调试;
- 测试设备统一管理;
- 已授权设备的远程技术支持;
- 个人闲置 Android 设备管理;
- 多设备界面同步验证。
请勿接入未经授权的设备,也不要将其用于违反应用平台规则、侵犯隐私或其他违法违规行为。
十五、总结
ScrcpyOverWebRTC 的思路很清晰:利用真实 Android 手机提供运行环境,通过 Scrcpy 获取和控制画面,再使用 WebRTC 将设备能力带到浏览器中。
它不是简单地把 Scrcpy 套一层网页,而是在多设备管理、远程访问、群控、文件、终端和授权方面不断补全使用流程。
v0.3.2 的主要价值包括:
- Android App 增加文件管理;
- Android App 增加 Shell 终端;
- App 和管理台支持免密分享机器;
- App 和管理台支持卡密登录;
- Magisk 模块配置更加精简;
- 多人协作和设备分配更加方便。
如果你有多台闲置 Android 手机,或者正在搭建真机测试平台,可以关注这个项目并在测试环境中体验。





项目地址:
- GitHub:GitHub - hqw700/ScrcpyOverWebRTC: A high-performance, web-based Android remote control solution powered by scrcpy and WebRTC. Control your devices with ultra-low latency directly from your browser. · GitHub
- 使用文档:ScrcpyOverWebRTC (CloudPhone) 官方指南与帮助文档 | ScrcpyOverWebRTC Docs
- Releases:https://github.com/hqw700/ScrcpyOverWebRTC/releas
更多推荐
所有评论(0)