如何使用Scrcpy远程控制Andorid手机

Scrcpy是免费的开源屏幕镜像应用程序,允许您在Windows、macOS或Linux桌面上控制Android设备。该软件目前由Genymobile开发,还开发了Android模拟器Genymotion。

这比在Windows 11上运行Android容易得多。

Android设备和计算机之间的通信主要通过USB连接和Android调试桥(ADB)进行。软件在Android设备上运行和运行服务器,然后通过ADB隧道通过套接字与服务器通信。不需要在Android设备上安装软件。将屏幕内容流式传输到H.264视频,然后由软件解码并显示在计算机上。该软件通过服务器将键盘和鼠标输入推送到Android设备。

设置包括在Android设备上启用USB调试、将设备连接到计算机、在计算机上运行scrcpy应用程序等。命令行界面允许您访问其他配置选项,如更改比特率或启用屏幕日志记录。该软件还支持通过Wi-Fi进行无线连接,但需要额外的设置步骤。Scrcpy在2019年发布的1.9版中添加了镜像时关闭屏幕和在两台设备之间复制剪贴板内容的功能。

系统要求

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。

另外,请阅读issue #14。

快捷键

在以下列表中,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

LINUX

人生经验-什么是过度交付-谎言与真相

2022-9-22 22:31:06

LINUX

如何在Ubuntu 20.04安装Flask

2022-9-23 9:01:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索