开源投屏工具Escrcpy的使用教程

开源投屏工具Escrcpy的使用教程

请添加图片描述


前言

Escrcpy是一款基于scrcpy的开源Android投屏工具。相比于QtScrcpy,Escrcpy不仅拥有更美观的用户界面,还完整实现了原生scrcpy的更多功能。目前该项目正处于快速迭代阶段,以下是Escrcpy与QtScrcpy的主要功能对比:

QtScrcpyEscrcpy
屏幕镜像支持支持
键鼠输入支持支持
剪切板支持支持
连接方式有线/无线有线/无线/扫码
屏幕录制支持支持
反向供网不支持支持
文件管理不支持支持
捕获相机不支持支持
应用启动不支持支持
计划任务不支持支持
配置文件不支持支持
批量操作不支持支持部分功能,迭代中

QtScrcpy作为一款成熟工具,已经能很好地满足大多数使用需求,用户体验优秀。本文重点探讨的是QtScrcpy尚未实现的功能。
值得注意的是,QtScrcpy对scrcpy进行了深度定制,其核心基于QtScrcpyCore开发;而Escrcpy则直接使用scrcpy原生API进行二次封装,因此能够更快适配scrcpy的功能更新。

Escrcpy非常适合以下场景:

  1. 开发者在电脑上调试安卓应用
  2. 游戏玩家在大屏幕上畅玩手游
  3. 需要录制手机屏幕内容的用户
  4. 工作中需在电脑上操作手机的情况
  5. 教学时演示手机操作

一、前置准备

此章节为新手准备,如果你已经有adb相关的使用经验,可以直接点击跳转

1.开启USB调试

要使用Scrcpy类工具连接安卓设备,必须先开启USB调试功能。而开启USB调试前,需要激活开发者模式。
不同厂商设备的开启方式可能略有差异,但基本操作路径如下:

打开设置,在里面找到关于手机,找到系统版本号(注意不是安卓版本号),连续点击8次。然后就可以在设置-系统里找到开发者模式,进入开发者模式,打开USB调试开关即可

如果上述步骤无法帮助你USB调试,你可以尝试下面的方式:

  1. 点击这里查询如可打开一些常用设备的USB调试
  2. 询问AI,例如Deepseek
  3. 询问手机品牌客服
  4. 评论或者私信我,我将在时间允许的情况下,给予一定的协助

2.授权USB调试

将手机的数据线连接到电脑上,正常情况会弹出类似下图的授权弹窗,点击确认授权即可
在这里插入图片描述
如果始终没有授权弹框出现,可以尝试以下方式解决

  1. 重新拔插数据线
  2. 更换数据线,尽量使用原装数据线
  3. 安装adb驱动,可以参考这篇文章

二、功能介绍

1.屏幕镜像

请添加图片描述

如上图所示,当设备成功连接后,只需点击图标即可开启屏幕镜像功能。在镜像界面中,您可以进行触控操作和键盘输入,还能将电脑剪贴板的内容直接粘贴到手机设备上。连接多个设备时,可以为每个设备设置个性化别名,这些别名设置将会被保存以供下次使用。此功能与QtScrcpy保持一致。
对于已连接的设备,您可以使用Escrcpy切换连接方式,在有线和无线模式间自由切换。此外,将鼠标悬停在设备图标上,即可查看该设备的实时缩略图和状态信息(如下图)。
请添加图片描述

2.配置文件

Escrcpy支持通过配置文件预设设备参数,免去每次启动时的重复设置。这些配置既可全局生效(适用于所有设备),也可针对特定设备单独配置。除QtScrcpy支持的常规参数(如比特率、分辨率、帧率)外,还新增了音视频录制、窗口控制和输出管理等多类配置选项。

请添加图片描述

3.捕获相机(需要安卓版本大于12)

Escrcpy 基于原生 scrcpy 的功能,在安卓 12 及以上系统中可实现相机画面捕获功能。该功能会镜像输出相机内容而非常规的手机屏幕画面,特别适合用作简易监控设备。若配合无线连接使用,效果更佳。要实现相机画面捕获,只需在通用设置中调整启动参数即可,具体参数为:

--video-source=camera

请添加图片描述

4.反向供网

安卓设备如需共享电脑网络,可通过Scrcpy的反向供网功能实现。操作方法如下图所示,初次使用时需在手机上完成授权。

请添加图片描述
效果如下,可以看到测试设备的移动网络和Wifi均未开启,但是可以正常访问网络,此功能基于gnirehtet
请添加图片描述

5.文件管理

借助Escrcpy,用户能够轻松管理设备文件。下图展示了如何通过Escrcpy浏览SD卡文件,并支持下载和删除等操作。

请添加图片描述
当然,如果你拥有root权限,也可以用这个功能访问data目录

6.计划任务

Escrcpy支持指定的4种计划任务,可以设置时间点执行或周期间隔重复执行,支持的计划任务类型如下

  1. 安装APP
  2. 截取屏幕
  3. 执行脚本
  4. 开始镜像

请添加图片描述

其中,计划执行脚本功能能够给我们带来无限的可能,例如在某些场景下,你想要设备自动打开某个APP,然后进行一些滑动、点击、输出操作,那么这将是个不错的选择。

7.批量操作

Escrcpy支持对多个连接设备进行批量管理,可实现截屏、应用安装、脚本执行及文件推送等基础操作。批量功能是该工具的重点开发方向,后续将持续优化完善。

请添加图片描述

三、链接

  1. scrcpy
  2. gnirehtet
  3. QtScrcpy
  4. Escrcpy项目地址
  5. Escrcpy官网
  6. 极限投屏 QtScrcpy作者开发的群控工具

题外话

1.打工人的摸鱼神器

基于Scrcpy的工具(如Escrcpy、QtScrcpy)都支持熄屏控制功能,即在保持设备可操作状态下关闭屏幕(注意:并非锁定屏幕)。使用该功能时,你可以在电脑上投屏玩手游的同时让手机屏幕保持关闭,显著提升使用安全性🎉
这一功能的实现原理是什么?通过分析QtScrcpy源码发现,其核心是调用Android的android.view.SurfaceControl类中的setDisplayPowerMode方法。将相关代码提取出来后,我们就能得到一份简单的熄屏控制代码(需要具备系统APP权限、ADB权限或root权限中的任意一项才能执行)。

public class MainClass {
    static IBinder binder;
	//Reflect是封装的反射工具类
    public static void main(String[] args) {
        int mode = Integer.parseInt(args[0]);
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
            binder = Reflect.on("android.view.SurfaceControl").call("getBuiltInDisplay",0).get();
        } else {
            binder = Reflect.on("android.view.SurfaceControl").call("getInternalDisplayToken").get();
        }
        Reflect.on("android.view.SurfaceControl").call("setDisplayPowerMode",binder,mode);
    }
}

2.另一投屏方式

如果你刚好拥有root权限,那么可以使用lamda进行远程控制,这种方式甚至不需要开启usb调试,也不需要使用数据线连接手机,作者也开发了配套的群控软件,体验良好
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值