当前位置: 首页 > 工具软件 > scrcpy > 使用案例 >

Scrcpy远程控制Andorid手机

隆谦
2023-12-01

        Scrcpy是免费的开源屏幕镜像应用程序,允许您在Windows、macOS或Linux桌面上控制Android设备。

github地址:https://github.com/Genymobile/scrcpy

系统要求

        Android设备必须至少支持API 21 (Android 5.0),确认设备已打开以进行ADB调试,某些设备还需要打开可通过鼠标和键盘控制的其他选项。

Linux

在debian(目前仅支持测试和sid季度)和Ubuntu (20.04)中:

Apt install scrcpy

还提供了快照包scrcpy。

为Fedora提供COPR软件包scrcpy。

为Arch Linux提供AUR软件包scrcpy。

向Gentoo提供Ebuild软件包scrcpy/。

Windows

Windows可以轻松地提供包含所有依赖项(包括ADB)的预编译包,自述文件中也提供了Chocolatey。

Choco install scrcpy

Choco install ADB #如果您还没有ADB

或Scoop:

Scoop install scrcpy

Scoop install ADB #如果您还没有ADB

[构建] [构建]也可以。

macOS

这个节目发表在Homebrew上。自己安装就可以了。

Brew install scrcpy

PATH内也必须有ADB。如果还没有:

# Homebrew=2.6.0

brew install-cask Android-platform-tools

# Homebrew 2.6.0

brew cask install Android-platform-tools

[构建] [构建]也可以。

运行

连接Android设备并执行以下操作:

Scrcpy

此程序支持命令行参数以查看参数列表。

Scr cpy-帮助

功能介绍

捕获设置

降低分辨率

在某些情况下,可以通过降低镜像分辨率来提高性能。

要将宽度和高度都限制为特定值(例如1024),请执行以下操作:

Scr cpy-max-size 1024

Scrcpy -m 1024 #缩写

另一侧按比例缩小,以保持设备显示比例。这样,分辨率为19201080的设备将镜像到分辨率为1024576。

修改码率

默认比特率为8Mbps。要更改视频的比特率(例如,更改为2Mbps):

Scr cpy-位-rate 2m

Scrcpy -b 2M #缩写

限制帧率

要限制捕获的帧速率,请执行以下操作:

Scr cpy-max-fps 15

此功能从Android 10开始正式提供,但在某些早期版本中提供。

画面裁剪

您可以剪切设备屏幕,只镜像屏幕的一部分。

例如,您只能镜像Oculus Go的一只眼睛。

Scrcpy-crop 1224: 1440: 0: 0 #原点为(0,0)的1224×1440像素

如果还指定了-max-size,则在缩放前进行修剪。

锁定屏幕方向

要锁定镜像屏幕的方向,请执行以下操作:

SCR cpy-lock-video-orientation 0 #自然方向

SCR cpy-lock-video-orientation 1 #逆时针旋转90度

SCR cpy-lock-video-orientation 2 # 180

SCR cpy-lock-video-orientation 3 #顺时针旋转90度

只影响录制方向,可以独立旋转窗。

编码器

有些设备内置了多个编码器,但有些编码器可能会引起问题或冲突。可以手动选择其他编码器。

SCR cpy-encode romx . qcom . video . encoder . AVC

要列出可用的编码器,可以指定包含所有编码器的不存在编码器名称。

Scrcpy-encoder _

屏幕录制

镜像过程中可以录制视频。

Scrcpy-record file.mp4

Scrcpy -r file.mkv

仅记录,不显示镜像:

SCR cpy-no-display-record file . MP 4

Scrcpy -Nr file.mkv

按# Ctrl C停止录制

由于性能原因,即使不实时显示,记录也包含“跳过的帧”。因为设备为每个帧设置时间戳,所以数据包延迟抖动不会影响记录的文件。

连接

无线

Scrcpy使用ADB与设备通信,ADB支持通过TCP/IP连接设备。

将设备和计算机连接到同一个Wi-Fi。

设置您可以打开手机状态信息、获取设备的IP地址或发出以下命令:

ADB shell IP route | awk ‘ { print $ 9 } ‘

启用设备的网络ADB功能ADB tcpip 5555。

断开设备的USB连接。

连接到设备:ADB connect DEVICE_IP:5555(将DEVICE_IP替换为设备IP)。

正常运行Scrcpy。

可能需要降低比特率和分辨率。

Scr cpy-bit-rate 2m-max-size 800

Scrcpy -b2M -m800 #缩写

多设备

如果Adb devices列出了多个设备,则必须指定设备的序列号。

Scrcpy-serial 0123456789abcdef

Scrcpy -s 0123456789abcdef #缩写

如果设备通过TCP/IP连接:

SCR cpy-串行192.168.0.1: 5555

Scrcpy -s 192.168.0.1:5555 #缩写

您可以同时启动多个scrcpy实例,同时显示多个设备的屏幕。

在设备连接时自动启动

使用AutoAdb,您可以:

auto ADB scrcpy-s“{ }”

SSH 隧道

要远程连接到设备,可以将本地ADB客户端连接到远程ADB服务器(两端需要相同版本的ADB协议)。

在Adb kill-server #本地5037端口上关闭Adb服务器

ssh-cn-l 5037:localhost:5037-r 27183:localhost:27183 your _ remote _ computer

#保持窗口打开

从另一个终端:

Scrcpy

如果不想使用远程端口转发,则可以强制正向连接(请参见-L和-R之间的差异)。

在Adb kill-server #本地5037端口上关闭Adb服务器

ssh-cn-l 5037:localhost:5037-l 27183:localhost:27183 your _ remote _ computer

#保持窗口打开

从另一个终端:

Scr cpy-force-ad b-forward

与无线网络连接一样,屏幕质量可能会下降。

Scr cpy-b2m-m800-max-fps15

窗口设置

标题

窗口标题默认为设备型号。可以使用以下命令进行修改:

Scr cpy-window-title’ my device ‘

位置和大小

可以指定初始窗口位置和大小。

SCR cpy-window-x 100-window-y 100-window-width 800-window-height 600

无边框

关闭边框:

Scr cpy-window-borderless

保持窗口在最前

可以使用以下命令将窗口置于最前面:

Scrcpy-always-on-top on-top

全屏

可以使用以下命令直接从全屏启动scrcpy:

Scrcpy-全屏

Scrcpy -f #缩写

全屏状态可以随时通过MOD f切换。

旋转

可以使用以下命令旋转窗口:

Scrcpy-rotation 1

可选择的值包括:

0:无旋转

1:逆时针旋转90度

2: 180转

3:顺时针旋转90度

可以随时使用MOD(左箭头)和MOD(右箭头)进行更改。

Scrcpy有三个方向。

MOD r请求设备在垂直屏幕和水平屏幕之间切换(如果前台应用程序不支持请求方向,则可以拒绝请求)。

更改-lock-lock-video-orientation镜像的方向(设备传输到计算机的屏幕方向)。这样会影响录音。

-“旋转”(或MOD/MOD)仅旋转窗口内容。只影响显示,不影响记录。

其他镜像设置

只读

禁用设备的计算机控制(例如,键盘输入、鼠标事件和文件拖放):

Scrcpy-no-control

Scrcpy -n

显示屏

如果设备有多个显示器,则可以选择要镜像的显示器。

Scr cpy-显示器1

可以使用以下命令列出所有显示的id:

在ADB shell dumpsysdisplay #输出中搜索“mDisplayId=”

要控制辅助显示,设备必须运行Android 10或更高版本。否则,镜像是只读的。

保持常亮

连接时防止设备休眠:

Scr cpy-stay-awake

Scrcpy -w

程序退出后,将恢复设备的原始设置。

关闭设备屏幕

您可以使用以下命令行参数在设备屏幕关闭的情况下进行镜像。

Scr cpy-turn-screen-off

Scrcpy -S

或者,随时按MOD o。

要重新打开屏幕,请选择mod shift O .

在Android系统中,电源按钮总是打开屏幕。为了方便起见,对于scrcpy中发生的电源事件(使用鼠标右键或MOD p),屏幕将在短暂延迟后关闭。设备上的电源按钮仍然可以打开设备屏幕。

同时,还可以防止设备休眠。

SCR cpy-turn-screen-off-stay-awake

Scrcpy -Sw

渲染过期帧

默认情况下,为了减少延迟,scrcpy始终渲染解码成功的最近一帧,并跳过上一帧。

强制渲染所有帧(延迟可能会很长):

Scr cpy-render-expired-frames

显示触摸

演示时,可能需要显示物理触摸点(物理设备上的触摸点)。

Android在开发者选项中提供了此功能。

Scrcpy在启动时打开此功能,并提供在关闭时恢复初始设置的选项。

Scr cpy-show-touches

Scrcpy -t

此功能只能显示物理触摸(在屏幕上用手指触摸)。

关闭屏保

默认情况下,Scrcpy不会阻止在计算机上打开的屏幕保护程序。

关闭屏幕保护程序:

Scr cpy-disable-screen saver

输入控制

旋转设备屏幕

使用MOD r在垂直和水平屏幕模式之间切换。

只有前台应用程序支持所需模式时,才会切换。

复制粘贴

只要Android的剪贴板发生变化,其内容就会自动同步到计算机的剪贴板上。

所有Ctrl快捷方式都将传递给设备。其中:

Ctrl c通常执行复制

Ctrl x通常执行剪切

Ctrl v通常执行粘贴(计算机到设备剪贴板同步完成后)

大多数情况下,这些键执行这些功能。

但是,实际行为取决于设备的前台程序。例如,Termux在按Ctrl c时发送SIGINT,K-9 Mail发送新邮件。

在这种情况下,要剪切,请复制并粘贴(仅支持Android=7)。

MOD c注入COPY(复制)

MOD x注入CUT(剪切)

MOD v注入PASTE(粘贴) (计算机到设备剪贴板同步完成后)

MOD Shift v还将计算机剪贴板的内容转换为输入到设备中的一系列击键事件。如果应用程序(如Termux)不允许粘贴,则此功能非常有用。但是,使用此功能可能会导致非ASCII编码内容出错。

警告:计算机剪贴板的内容粘贴到设备上时(通过Ctrl v或MOD v),内容将复制到设备的剪贴板上。这样可以读取所有Android应用程序。要避免以这种方式粘贴密码等敏感内容。

有些设备不支持通过程序设置剪贴板。-legacy-paste选项允许您修改Ctrl v和MOD v的工作方式,以便通过按键事件(如MOD Shift v)注入计算机剪贴板内容。

双指缩放

模拟两个手指的缩放。按住Ctrl键并移动鼠标。

更准确地说,按住Ctrl键的同时按住鼠标左键。在释放鼠标左键之前,所有鼠标移动都将围绕屏幕中心缩放或旋转内容(如果应用了支持)。

实际上,scrcpy会在相对于屏幕中心对称的位置生成“虚拟手指”上发生的其他触摸事件。

文字注入偏好

打字时,系统生成两个事件。

按键事件表示按键被按下或释放。

表示输入了一个字符的文本事件。

默认情况下,程序使用按键事件输入字符。只有这样,键盘才能在游戏中正常工作(例如WASD键)。

但是,这也可能引起一些问题。如果出现问题,可以通过以下方法避免:

Scr cpy-prefer-text

(这可能会导致键盘在游戏中无法正常工作。)。

按键重复

默认情况下,按住一个键会生成多个重复的关键点事件。某些游戏可能会出现性能问题。

防止重复按键事件传递:

Scr cpy-no-key-repeat

右键和中键

默认情况下,右键单击将触发返回键(或电源键),按中键将触发HOME键。要禁用这些快捷键并将所有单击传递到设备,请:

Scr cpy-forward-all-clicks

文件拖放

安装APK

APK文件(文件名为.以apk结尾)拖放到scrcpy窗口中进行安装。

此作业在屏幕上保持不变,并向控制台输出日志。

将文件推送至设备

要将文件推送到设备上的/sdcard/,请将非APK文件拖放到scrcpy窗口中。

此操作没有可视响应,仅从控制台输出日志。

启动时可以修改大象目录。

Scr cpy-push-target/SD卡/foo/bar/

音频转发

Scrcpy不支持音频使用Sndcpy

快捷键

在以下列表中,MOD是快捷键的修饰键。

默认值为(左)Alt或(左)Super。

可以使用-shortcut-mod进行修改。可选键包括lctrl、rctrl、lalt、ralt、lsuper和rsuper。例如:

#使用右侧的Ctrl键

Scr cpy-shortcut-mod=r ctrl

#左Ctrl键左Alt键或Super键

Scr cpy-shortcut-mod=l ctrl lalt,l super

Super键通常表示Windows或Cmd键。

操作

键盘快捷键

全屏

MOD f

把屏幕向左转动

MOD(向左箭头)

把屏幕向右转动

MOD(右箭头)

将窗口大小重置为1:1(像素匹配)

MOD g

重置窗口大小以移除黑色边

MOD w |双击

单击“主页”屏幕

MOD h |鼠标中键

单击以返回

MOD b |右键单击

单击“切换”以应用

MOD s

单击菜单(解锁屏幕)

MOD m

按音量

MOD(向上箭头)

单击卷-

MOD(向下箭头)

单击电源

MOD p

打开屏幕

单击鼠标右键

关闭设备屏幕(仍在计算机上显示)

MOD o

打开设备屏幕

MOD Shift o

旋转设备屏幕

MOD r

展开通知面板

MOD n

折叠通知面板

MOD Shift n

复制到剪贴板

MOD c

剪切到剪贴板

MOD x

同步和粘贴剪贴板

MOD v

计算机剪贴板文本注入

MOD Shift v

打开/关闭FPS显示(在stdout中)

MOD I

缩放。

按住Ctrl键并移动鼠标

通过双击黑色边,可以删除黑色边。右键单击将在屏幕关闭时打开屏幕,其馀部分被认为是按返回键。需要Android版本Android=7。

所有Ctrl键的快捷键都将传递给设备,因此在当前应用程序中处理。

自定义路径

要使用指定的ADB二进制文件,可以设置ADB环境变量。

ADB=/path/to/adb scrcpy

要更改Scrcpy-server的路径,请设置SCRCPY_SERVER_PATH。

Linux

Android 1

远程控制

Windows

 类似资料: