【导语】:一款在 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 就能连接控制安卓的开源工具的更多相关文章

  1. 人生第一个过万 Star 的 github 项目诞生

    写 Spring Boot 开源项目走入第三个年头,终于有一个开源项目要破万 Star 了,请各位读者大人批评指正. Spring Boot 文章 2016年,我开始学习 Spring Boot 的时 ...

  2. 一些对外的服务(例如lnmp)都不用root执行

    lnmp lamp等需要对外的服务,都不用root用户执行进程 缺点: 如果php程序使用root运行,万一你的程序有漏洞,被拿到了web shell,那么黑客将直接拥有root权限进入你的系统 对于 ...

  3. 看github上有18万star的第一开源项目如何教你学前端编程的

    作为 Github | star 第一开源项目,已经超过18万 star:比之前最火的bootstrap的10万star还要多出8w,freeCodeCamp 越来越受关注,建站两年时间不到已经近40 ...

  4. 4.2 万 Star!开发 Web 和移动端应用的全栈平台

    [导语]:Meteor 是一个用 JS 开发现代 Web 应用程序的平台.它是开源的,在 GitHub 上有 4.2 万 Star. Meteor 是什么? 官方文档是这样描述 Meteor 的:Me ...

  5. 全网Star最多(近20k)的Spring Boot开源教程 2019 年要继续更新了!

    从2016年1月开始写博客,默默地更新<Spring Boot系列教程>,从无人问津到千万访问,作为一个独立站点(http://blog.didispace.com),相信只有那些跟我一样 ...

  6. Linux centosVMware MySQL常用操作设置更改root密码、连接mysql、mysql常用命令

    一.设置更改root密码 启动mysql /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql绝对路径 使mysql -uroot永久生效需要编辑, ...

  7. SecureCRT无法使用root账户远程连接ubuntu

    ========1.问题============ SecureCRT无法使用root账户远程连接ubuntu 用其他账户连接,正常 用root账户连接,不能连接 =========2.原因====== ...

  8. filezilla的root账户无法连接服务器解决办法

    lz一直都是用filezilla上传文件到vm虚拟机的,用的是ubuntu14.04的系统.最近自己重新搭了lamp去做thinkphp的学习,lz有两个账户,一个是kin,另外一个是root.大家都 ...

  9. 解决Centos7 下 root账号 远程连接FTP,vsftpd 提示 530 Login incorrect 问题

    原文:解决Centos7 下 root账号 远程连接FTP,vsftpd 提示 530 Login incorrect 问题 三步走: 1.vim /etc/vsftpd/user_list 注释掉 ...

随机推荐

  1. 042.Python进程队列介绍

    进程队列介绍 1  基本语法及过程 先进先出,后进后出,q = Queue() 过程 (1)把数据放到q队列中 put (2)把书局从队列中拿出来 get from multiprocessing i ...

  2. 009.Python字符串相关函数

    字符串相关函数 1 capitalize 字符串首字母大写 strvar = "this is a dog" res = strvar.capitalize() print(res ...

  3. nohup 命令 2>&1 |tee lmbench.log & 只适用没有需要敲y或x的

    nohup make results 2>&1 |tee lmbench.log & nohup 命令 2>&1 |tee lmbench.log & 只适 ...

  4. 【待写Java线程之线程终止 Interrupt 】

    参考:https://bbs.csdn.net/topics/280082639 interrupt()方法不会中断一个正在运行的线程.这一方法实际上完成的是,在线程受到阻塞时抛出一个中断信号,这样线 ...

  5. 11.20 yum:自动化RPM包管理工具

    yum(Yellow dog Updater Modified)是多个Linux发行版的软件包管理器,例如Redhat RHEL.CentOS和Fedora.yum主要用于自动安装.升级rpm软件包, ...

  6. Spring IoC容器 XML 配置与加载

    IoC 容器 XML 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...

  7. sprintf和snprintf函数

    printf()/sprintf()/snprintf()区别  先贴上其函数原型 printf( const char *format, ...)    格式化输出字符串,默认输出到终端-----s ...

  8. 1 理解Linux系统的“平均负载”

    什么是平均负载 我们知道使用top或uptime可以用来了解系统的负载情况. uptime 2 02:34:03 up 2 days, 20:14, 1 user, load average: 0.6 ...

  9. STM32F1移植UCOSII

    作者:珵旭媛 下载对应版本的UCOSII https://www.micrium.com/downloadcenter/,你会少修改很多东西: 下载下来后是这样的文件夹,并且Software里面的才是 ...

  10. 在Docker中安装MongoDB

    在Docker中安装MongoDB docker run -p 27017:27017 -v /data/mongodb:/data/db --name mongodb -d mongo --auth ...