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 注释掉 ...
随机推荐
- 如何讓RHEL7/CentOS7開機過程顯示更多資訊
rhgb選項rhgb用於圖形啟動(graphical boot-up), quiet 而quiet選項可以消除大部分啟動消息. 如何讓RHEL7/CentOS7開機過程顯示更多資訊 Arthur Ch ...
- shell判断一个变量是否为空方法总结
shell中如何判断一个变量是否为空 shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下: 1.变量通过" "引号引起来 1 2 ...
- 9.2-3 pstree & pgrep
9.2 pstree:显示进程状态树 pstree命令以树形结构显示进程和进程之间的关系. 如果不指定进程的PID号,或者不指定用户名称,则会以init进程为根进程,显示系统的所有进程 ...
- 关于步进电机驱动板,tb6560
参考的,淘宝上买来的步进电机S曲线驱动方法,发现 他程序输出的PWM波形全是方波, 占空比为50% 而且他 修改这两个数来输出波形,所以 我打算参考这个来写一个驱动 TIMX_CNT中放置的是当前计 ...
- 10.13 nc:多功能网络工具
nc命令 是一个简单.可靠.强大的网络工具,它可以建立TCP连接,发送UDP数据包,监听任意的TCP和UDP端口,进行端口扫描,处理IPv4和IPv6数据包. 如果系统没有nc命令,那么可以手 ...
- linux用户(组)及文件权限说明
写在前面: 在liunx系统中一切都是文件(文件夹和外设是特殊的文件),如果有可能尽量使用文本文件,文本文件是人.机都能够理解的文件.linux的用户(组)和权限完美的解决了linux系统的安全问题. ...
- Jsoup_Select 选择器
Jsoup_Select 选择器 一,概述 可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数 ...
- 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 最近接个任务,用webhook做了个代码提交监听功能,就是有人 ...
- 基于雪花算法生成分布式ID(Java版)
SnowFlake算法原理介绍 在分布式系统中会将一个业务的系统部署到多台服务器上,用户随机访问其中一台,而之所以引入分布式系统就是为了让整个系统能够承载更大的访问量.诸如订单号这些我们需要它是全局唯 ...
- 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】
目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...