Escrcpy(安卓手机投屏软件) 最新版v1.30.1 无广告好用安卓无线投屏远程控制软件
Escrcpy(安卓手机投屏软件) 最新版v1.30.1 无广告好用安卓无线投屏远程控制软件
推荐一个这个软件。非常好用,用来远程控制安卓系统设备,如手机 开源掌机 电视 盒子等等 原理就是利用远程端口 adb代码进行操作控制 还能进行内网穿透 后远程控制 手机设备在家,身在外面也能轻松掌管控制设备
Escrcpy 是一款强大的工具,它允许用户通过图形化的 Scrcpy 界面来显示和控制他们的 Android 设备。这款应用程序由 Electron 作为其底层框架驱动。Escrcpy 无需任何账户就可以使用,无需担心隐私或安全问题。Escrcpy没有广告,完全免费开源。
下载地址:
https://pan.quark.cn/s/fb20362d70ad
软件特点
同步:得益于 Web 技术,将更快速的与 Scrcpy 保持同步
轻巧度:本机支持,仅显示设备屏幕
性能:30~120 帧每秒,取决于设备
质量:1920×1080 或更高
低延迟:35~70 毫秒
快速启动:显示第一张图片仅需约1秒钟
非侵入性:不会在安卓设备上留下任何安装文件
用户收益:无需账户、无广告、无需互联网连接
自由:免费且开源软件
1.30.1 (2025-07-14)Bug 修复
修复了在首选项中重置类别配置时所有配置都被清空的问题
解决录制相关功能成功时显示计时异常的问题
修复了 Windows 中特殊字符阻止创建应用快捷方式启动的问题
性能改进
优化了启动 App 包名称显示
优化启动 APP 功能交互
链接安卓设备的方式和开启方法
USB连接方式
注意:若手机弹出调试授权提示,请点击允许
在安卓设备上启用开发者模式和USB调试功能
启动Escrcpy并将安卓设备通过USB连接电脑
Escrcpy设备列表应已检测到您的设备,点击"开始镜像"
开始使用!
无线连接方式扫码连接
先完成USB连接方式的步骤1-2
在开发者选项中启用并进入"无线调试"
点击"通过二维码配对设备"
开始使用!
IP地址连接
注意:若首次无线连接失败,可能需先进行无线配对,详见常见问题
注意:需在无线调试页面获取设备无线地址(通常为连接WiFi时分配的IP地址)和端口号(默认为5555)
先完成USB连接方式的步骤1-2
在Escrcpy中输入设备IP地址和端口号,点击"连接设备"
此时设备列表应显示您的手机,点击"开始镜像"
开始使用!
adb打开端口
setprop service adb tcp port 5555
ROOT后还能安装模块或者修改system/build.prop 实现开机启动 打开无线调试5555端口 更方便的进行无线投屏控制链接
Escrcpy原理
scrcpy 的控制原理是一个客户端-服务器架构,利用 ADB 进行通信,并在设备端注入输入事件来实现的。整个过程可以分为几个关键步骤:
建立连接 (ADB):
当你启动 scrcpy(电脑端客户端)时,它首先通过 ADB 与你的 Android 设备建立连接。
scrcpy 启动一个 ADB 端口转发:adb forward tcp:<local_port> localabstract:scrcpy。这会在电脑的某个端口和设备的 localabstract:scrcpy UNIX 域套接字之间建立一个隧道。
设备端,scrcpy 启动一个后台进程(通常是 scrcpy-server 或 scrcpy,通过 adb push 临时推送到设备并执行)。这个服务器进程负责视频流的编码和输入事件的接收。
视频流传输:
设备端服务器使用 Android 的 MediaCodec API 对屏幕内容进行硬件编码(通常是 H.264 或 H.265)。
编码后的视频流通过之前建立的 ADB 隧道(TCP 套接字)实时传输到电脑客户端。
电脑客户端使用 libavcodec (FFmpeg) 等库对视频流进行解码。
解码后的视频帧被渲染在电脑客户端的窗口中。
输入控制 - 核心原理:
当你在电脑客户端的窗口中进行操作(点击鼠标、按下键盘、滑动触摸板)时,scrcpy 客户端会捕获这些输入事件。
关键转换: 客户端将这些输入事件转换成 Android 设备能够理解的格式。对于鼠标和触摸事件,它生成 Android MotionEvent 结构;对于键盘事件,它生成 Android KeyEvent 结构。
注入事件: 转换后的事件数据通过同一个 ADB 隧道(TCP 套接字)发送回设备端运行的 scrcpy-server 进程。
设备端执行: 设备端的 scrcpy-server 进程收到事件数据后,调用 Android 系统的 InputManager 服务(通过 android.hardware.input.IInputManager Binder 接口)。
injectInputEvent: 服务器进程使用 IInputManager 的 injectInputEvent 方法,将接收到的 MotionEvent 或 KeyEvent 注入到系统的输入事件流中。
系统处理: Android 系统将这些注入的事件视为来自真实物理输入设备(如触摸屏、物理键盘)的事件,并将其分发给当前处于焦点的应用程序(通常是 scrcpy 窗口本身对应的 Activity 或你正在操作的目标应用),从而实现对设备的远程控制。
权限要求:
注入输入事件需要特殊的权限。scrcpy-server 通常以 shell 用户 (u0_aX) 权限运行。Android 系统允许 shell 用户注入输入事件,但通常仅限于注入到自身(scrcpy-server)拥有的窗口。
为了让注入的事件能传递到其他应用窗口,scrcpy 在启动服务器时通常会添加参数 -m 1024(或其他较大值)或使用 --prefer-text。这指示服务器创建一个虚拟显示器(display),并将 scrcpy 的镜像显示在这个虚拟显示器上。scrcpy-server 拥有这个虚拟显示器的内容,因此它注入的事件就能被系统分发到该虚拟显示器上的前台应用。
在较新 Android 版本上,有时需要开启 “USB 调试(安全设置)” 或 “模拟位置信息应用” 等选项来授权输入注入。
剪贴板同步 (可选):
当启用剪贴板同步 (--clipboard-autosync) 时,scrcpy 还会监听电脑和设备端的剪贴板变化。
电脑剪贴板变化时,客户端通过 ADB 隧道发送一个包含文本的特定消息给服务器。服务器接收到后,使用 content 命令或直接调用 ClipboardManager API (需要更高权限或特定方法) 设置设备的剪贴板。
设备剪贴板变化时,服务器通过 ADB 隧道通知客户端,客户端再设置电脑的剪贴板。这通常通过监听 ClipboardManager.OnPrimaryClipChangedListener 实现。
总结关键点:
通道: 基于 ADB 端口转发建立的 TCP Socket 连接。
视频流: 设备端硬件编码 -> ADB 隧道传输 -> 电脑端解码渲染。
控制流 (核心):
电脑捕获输入事件 (鼠标/键盘)。
转换成 Android MotionEvent/KeyEvent。
通过 ADB 隧道发送到设备端服务器。
设备端服务器调用 InputManager.injectInputEvent() 方法将事件注入系统。
Android 系统将事件分发给目标应用。
权限: 依赖 shell 用户权限注入事件到自身拥有的窗口/虚拟显示器,可能需要额外安全设置授权。
优势: 无需在设备上安装用户级 APP,利用现成的 ADB 基础设施和系统级注入接口,高效且兼容性好。
这种架构使得 scrcpy 能够实现低延迟、高效率的屏幕镜像和流畅的控制体验
本文系作者 @保安阿强 原创发布在保安阿强站点。未经许可,禁止转载。
暂无评论数据