5.1 万 Star!不用 root 就能连接控制安卓的开源工具
【导语】:一款在 PC 端控制安卓设备的小工具。可在 PC 和安卓设备间互通剪贴板、用电脑键盘打字、传输文件、安装程序、截图、录屏等等功能。
简介
scrcpy 可以显示并控制通过 USB (或 TCP/IP) 连接的安卓设备,且不需要任何 root 权限,支持 GNU/Linux、Windows 和 macOS。

特性
- 轻量 (原生,仅显示设备屏幕)
- 性能 (30~60fps)
- 质量 (分辨率可达 1920×1080 或更高)
- 低延迟 (35~70ms)
- 快速启动 (最快 1 秒内即可显示第一帧)
- 无侵入性 (不会在设备上遗留任何程序)
系统要求
- 安卓设备最低需要支持 Android 5.0。
- 确保设备已开启 adb 调试。
- 在某些设备上,还需要开启额外的选项以使用鼠标和键盘进行控制。
项目地址是:
https://github.com/Genymobile/scrcpy
安装
在 Debian (目前仅支持 testing 和 sid 分支) 和Ubuntu (20.04) 上安装:
apt install scrcpy
另外,开发者还提供以下类型安装包:
- snap 包
- 对 Fedora 提供 COPR 包
- 对 Arch Linux 提供 AUR 包
- 对 Gentoo 提供 Ebuild 包
在 Windows 上安装:
官网提供压缩包下载,解压即可使用
使用 Chocolatey 安装:
choco install scrcpy
choco install adb
- 使用 Scoop 安装:
scoop install scrcpy
scoop install adb
在 macOS 上安装:
- 使用 Homebrew 安装
brew install scrcpy
如果 PATH 路径内没有 adb ,则还需要:
brew install android-platform-tools
- 使用 MacPorts 安装
sudo port install scrcpy
运行
连接安卓设备,然后执行:
scrcpy
工具支持命令行参数,查看参数列表:
scrcpy --help
使用效果如图所示:

具体功能介绍
连接
1.将设备和电脑连接至同一 Wi-Fi。
2.打开 设置 → 关于手机 → 状态信息,获取设备的 IP 地址,也可以执行以下的命令:
adb shell ip route | awk '{print $9}'
3.启用设备的网络 adb 功能
adb tcpip 5555
4.断开设备的 USB 连接。
5.连接设备:
adb connect DEVICE_IP:5555 #将 DEVICE_IP 替换为设备 IP)
6.正常运行 scrcpy。
多设备
- 如果 adb devices 列出了多个设备,必须指定设备的序列号 :
scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef # 简写
- 如果设备通过 TCP/IP 连接:
scrcpy --serial 192.168.0.1:5555
scrcpy -s 192.168.0.1:5555 # 简写
可以同时启动多个 scrcpy 实例以同时显示多个设备的画面。
全屏
可以通过如下命令直接全屏启动 scrcpy:
scrcpy --fullscreen
scrcpy -f # 简写
复制粘贴
每次安卓的剪贴板变化时,其内容都会被自动同步到电脑的剪贴板上。所有的 Ctrl 快捷键都会被转发至设备。其中:
- Ctrl+c 复制
- Ctrl+x 剪切
- Ctrl+v 粘贴
开源前哨日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。
5.1 万 Star!不用 root 就能连接控制安卓的开源工具的更多相关文章
- 人生第一个过万 Star 的 github 项目诞生
写 Spring Boot 开源项目走入第三个年头,终于有一个开源项目要破万 Star 了,请各位读者大人批评指正. Spring Boot 文章 2016年,我开始学习 Spring Boot 的时 ...
- 一些对外的服务(例如lnmp)都不用root执行
lnmp lamp等需要对外的服务,都不用root用户执行进程 缺点: 如果php程序使用root运行,万一你的程序有漏洞,被拿到了web shell,那么黑客将直接拥有root权限进入你的系统 对于 ...
- 看github上有18万star的第一开源项目如何教你学前端编程的
作为 Github | star 第一开源项目,已经超过18万 star:比之前最火的bootstrap的10万star还要多出8w,freeCodeCamp 越来越受关注,建站两年时间不到已经近40 ...
- 4.2 万 Star!开发 Web 和移动端应用的全栈平台
[导语]:Meteor 是一个用 JS 开发现代 Web 应用程序的平台.它是开源的,在 GitHub 上有 4.2 万 Star. Meteor 是什么? 官方文档是这样描述 Meteor 的:Me ...
- 全网Star最多(近20k)的Spring Boot开源教程 2019 年要继续更新了!
从2016年1月开始写博客,默默地更新<Spring Boot系列教程>,从无人问津到千万访问,作为一个独立站点(http://blog.didispace.com),相信只有那些跟我一样 ...
- Linux centosVMware MySQL常用操作设置更改root密码、连接mysql、mysql常用命令
一.设置更改root密码 启动mysql /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql绝对路径 使mysql -uroot永久生效需要编辑, ...
- SecureCRT无法使用root账户远程连接ubuntu
========1.问题============ SecureCRT无法使用root账户远程连接ubuntu 用其他账户连接,正常 用root账户连接,不能连接 =========2.原因====== ...
- filezilla的root账户无法连接服务器解决办法
lz一直都是用filezilla上传文件到vm虚拟机的,用的是ubuntu14.04的系统.最近自己重新搭了lamp去做thinkphp的学习,lz有两个账户,一个是kin,另外一个是root.大家都 ...
- 解决Centos7 下 root账号 远程连接FTP,vsftpd 提示 530 Login incorrect 问题
原文:解决Centos7 下 root账号 远程连接FTP,vsftpd 提示 530 Login incorrect 问题 三步走: 1.vim /etc/vsftpd/user_list 注释掉 ...
随机推荐
- [bug] Unrecognized token 'code': was expecting (JSON String, Number, Array, Object,'true', 'false' or 'null')
JSON格式有误,需用JSON.stringify()函数转换一下 参考 https://www.cnblogs.com/sunyanblog/p/13788740.html https://www. ...
- javaWeb——Servlet(二)
Servelet登录页面步骤: 浏览器访问http://127.0.0.1/login.html 浏览器通过form把账号和密码提交到/login(通过action),附带method="p ...
- Hive 配置项详解
hive.ddl.output.format: hive的ddl语句的输出格式, 默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置: hive.exec.script.wrap ...
- IIC通信时遇到问题的解决
如果遇到问题,反复查不到 就DEBUG 下单点运行,执行每一个SCK 和SDA的拉高拉低 看看是否能正常的拉高拉低 先解决掉底层的GPIO的控制问题, 有的时候可能数据引脚为特殊功能引脚
- 解决Windows路径太长的目录以及文件名超长删除的问题
因Windows文件夹有长度限制,在路径太深,长度达到600多个字符时,删除文件时出现报错"源文件名长度大于文件系统支持的长度.请尝试将其移动到具有较短路径名称的位置,或者在执行此操作前尝试 ...
- addrinfo结构体原型-(转自 cxz2009)
addrinfo结构体原型 typedef struct addrinfo { int ai_flags; //AI_PASSIVE,AI_CANONNAME,AI_NUMERIC ...
- 『政善治』Postman工具 — 14、NewMan工具的使用详解
目录 1.NewMan工具的介绍 2.NewMan的安装 (1)安装 (2)验证NewMan环境: (3)NewMan卸载命令 3.NewMan执行Postman测试集 (1)导出collection ...
- Nginx下配置Https 配置文件(vue)
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...
- vue 表格中的下拉框单选、多选处理
最近在用vue做前后端分离,需要在表格中用到下拉框,由于需求变动,从最开始的单选变为多选,折腾了许久,记录一下,供后人铺路 vue 中的表格下拉框单选 collectionsColnumOptions ...
- Python数模笔记-Scipy库(1)线性规划问题
1.最优化问题建模 最优化问题的三要素是决策变量.目标函数和约束条件. (1)分析影响结果的因素是什么,确定决策变量 (2)决策变量与优化目标的关系是什么,确定目标函数 (3)决策变量所受的限制条件是 ...