岛友你还没有注册勒.注册可以注册可以查看更多资源哦~
您需要 登录 才可以下载或查看,没有账号?注册账号
×
Escrcpy(安卓手机投屏软件) 最新版v1.30.1 无广告好用安卓无线投屏远程控制软件
2 L4 U6 c. t& _2 C2 a% [' @) ^3 M/ Z2 ^7 [
推荐一个这个软件。非常好用,用来远程控制安卓系统设备,如手机 开源掌机 电视 盒子等等 原理就是利用远程端口 adb代码进行操作控制 还能进行内网穿透 后远程控制 手机设备在家,身在外面也能轻松掌管控制设备4 k+ ~' I* M9 [; \; I' z' t' \
0 k" H% I$ q; h2 f4 vEscrcpy 是一款强大的工具,它允许用户通过图形化的 Scrcpy 界面来显示和控制他们的 Android 设备。这款应用程序由 Electron 作为其底层框架驱动。Escrcpy 无需任何账户就可以使用,无需担心隐私或安全问题。Escrcpy没有广告,完全免费开源。1 _ P) X8 @( P
下载地址:$ W7 o; r: B& ?3 U& w1 v
https://pan.quark.cn/s/fb20362d70ad
- h6 A& C$ H3 w# A0 R
3 D6 Q% \2 _) O2 K
8 `# C% b i, X3 A" a- 软件特点# ^8 N% a4 G7 s N: s7 `
- 同步:得益于 Web 技术,将更快速的与 Scrcpy 保持同步
- 轻巧度:本机支持,仅显示设备屏幕
- 性能:30~120 帧每秒,取决于设备
- 质量:1920×1080 或更高
- 低延迟:35~70 毫秒
- 快速启动:显示第一张图片仅需约1秒钟
- 非侵入性:不会在安卓设备上留下任何安装文件
- 用户收益:无需账户、无广告、无需互联网连接
- 自由:免费且开源软件& l' n, V! N3 U4 s/ }! S6 v
& r2 y- y8 V' r/ U1.30.1 (2025-07-14)Bug 修复- 修复了在首选项中重置类别配置时所有配置都被清空的问题
- 解决录制相关功能成功时显示计时异常的问题
- 修复了 Windows 中特殊字符阻止创建应用快捷方式启动的问题
/ ]0 n* P3 `" j+ @) \ 性能改进- 优化了启动 App 包名称显示
- 优化启动 APP 功能交互
8 s0 b1 p" q5 Z( [1 v# }+ O 6 k5 U. N0 p3 t( r
链接安卓设备的方式和开启方法
" n3 q5 o* E; M3 H1 o6 U% |1 Y# Y2 l# p/ f& [! p/ {
USB连接方式注意:若手机弹出调试授权提示,请点击允许
- 在安卓设备上启用开发者模式和USB调试功能
- 启动Escrcpy并将安卓设备通过USB连接电脑
- Escrcpy设备列表应已检测到您的设备,点击"开始镜像"
- 开始使用!
; @! Q, f! t5 ~, @ j* W! Z 无线连接方式扫码连接- 先完成USB连接方式的步骤1-2
- 在开发者选项中启用并进入"无线调试"
- 点击"通过二维码配对设备"
- 开始使用!- X P( X4 J, X7 M+ X& o3 y$ ]
IP地址连接注意:若首次无线连接失败,可能需先进行无线配对,详见常见问题 注意:需在无线调试页面获取设备无线地址(通常为连接WiFi时分配的IP地址)和端口号(默认为5555)
- 先完成USB连接方式的步骤1-2
- 在Escrcpy中输入设备IP地址和端口号,点击"连接设备"
- 此时设备列表应显示您的手机,点击"开始镜像"
- 开始使用!+ ^: p8 X; _& \0 n9 `
\3 W- D) \2 y. _, r5 \! o
adb打开端口( m2 T: v, D. m3 J
setprop service adb tcp port 55558 ]0 T9 V% O! e0 t
+ F: ]1 P+ h) K/ N6 sROOT后还能安装模块或者修改system/build.prop 实现开机启动 打开无线调试5555端口 更方便的进行无线投屏控制链接4 c! [9 z6 X9 @
" ~4 \% u0 D" P6 u
Escrcpy原理3 g" U8 O) ~: i: P' i0 |$ ~
scrcpy 的控制原理是一个客户端-服务器架构,利用 ADB 进行通信,并在设备端注入输入事件来实现的。整个过程可以分为几个关键步骤: 建立连接 (ADB):
& y/ V" P: b" z' r; v. v- 当你启动 scrcpy(电脑端客户端)时,它首先通过 ADB 与你的 Android 设备建立连接。
- scrcpy 启动一个 ADB 端口转发:adb forward tcp:<local_port> localabstract:scrcpy。这会在电脑的某个端口和设备的 localabstract:scrcpy UNIX 域套接字之间建立一个隧道。
- 设备端,scrcpy 启动一个后台进程(通常是 scrcpy-server 或 scrcpy,通过 adb push 临时推送到设备并执行)。这个服务器进程负责视频流的编码和输入事件的接收。 S& {0 ^1 R6 _& u% \$ l- t
视频流传输: ; Z6 U! Y' I3 m
- 设备端服务器使用 Android 的 MediaCodec API 对屏幕内容进行硬件编码(通常是 H.264 或 H.265)。
- 编码后的视频流通过之前建立的 ADB 隧道(TCP 套接字)实时传输到电脑客户端。
- 电脑客户端使用 libavcodec (FFmpeg) 等库对视频流进行解码。
- 解码后的视频帧被渲染在电脑客户端的窗口中。
4 e3 T$ r9 N% S2 R
输入控制 - 核心原理:
& T, x" t2 @( o: [- 当你在电脑客户端的窗口中进行操作(点击鼠标、按下键盘、滑动触摸板)时,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 或你正在操作的目标应用),从而实现对设备的远程控制。9 H; @; V5 P; x" z7 _4 w" @: p |) r
权限要求:
6 F* s0 J& I, h) ?- 注入输入事件需要特殊的权限。scrcpy-server 通常以 shell 用户 (u0_aX) 权限运行。Android 系统允许 shell 用户注入输入事件,但通常仅限于注入到自身(scrcpy-server)拥有的窗口。
- 为了让注入的事件能传递到其他应用窗口,scrcpy 在启动服务器时通常会添加参数 -m 1024(或其他较大值)或使用 --prefer-text。这指示服务器创建一个虚拟显示器(display),并将 scrcpy 的镜像显示在这个虚拟显示器上。scrcpy-server 拥有这个虚拟显示器的内容,因此它注入的事件就能被系统分发到该虚拟显示器上的前台应用。
- 在较新 Android 版本上,有时需要开启 “USB 调试(安全设置)” 或 “模拟位置信息应用” 等选项来授权输入注入。
1 T' o+ C: v" ~, ?5 J6 a7 i
剪贴板同步 (可选):
1 x) E: s& [7 {" ^5 N( e6 X3 _- 当启用剪贴板同步 (--clipboard-autosync) 时,scrcpy 还会监听电脑和设备端的剪贴板变化。
- 电脑剪贴板变化时,客户端通过 ADB 隧道发送一个包含文本的特定消息给服务器。服务器接收到后,使用 content 命令或直接调用 ClipboardManager API (需要更高权限或特定方法) 设置设备的剪贴板。
- 设备剪贴板变化时,服务器通过 ADB 隧道通知客户端,客户端再设置电脑的剪贴板。这通常通过监听 ClipboardManager.OnPrimaryClipChangedListener 实现。
7 x U# y, f: p4 u# ]% a% t
总结关键点: - 通道: 基于 ADB 端口转发建立的 TCP Socket 连接。
- 视频流: 设备端硬件编码 -> ADB 隧道传输 -> 电脑端解码渲染。
控制流 (核心):
5 q- A. k4 R5 _; ~% G- 电脑捕获输入事件 (鼠标/键盘)。
- 转换成 Android MotionEvent/KeyEvent。
- 通过 ADB 隧道发送到设备端服务器。
- 设备端服务器调用 InputManager.injectInputEvent() 方法将事件注入系统。
- Android 系统将事件分发给目标应用。3 C2 p6 a# L" `+ }& y
- 权限: 依赖 shell 用户权限注入事件到自身拥有的窗口/虚拟显示器,可能需要额外安全设置授权。
- 优势: 无需在设备上安装用户级 APP,利用现成的 ADB 基础设施和系统级注入接口,高效且兼容性好。
( f( j0 N' R/ T9 q
这种架构使得 scrcpy 能够实现低延迟、高效率的屏幕镜像和流畅的控制体验 3 J8 w0 {% f2 ~. u
( M% K0 K2 S9 v
# ^; X/ C$ V7 F
|