接上文,运行命令
7)设备连接时自动启动
你可以使用AutoAdb:
autoadb scrcpy -s '{}'
跨远程隧道
要连接到远程设备,可以将本地adb
客户端连接到远程adb
服务器(前提是它们使用相同版本的adb 协议)。
8)远程 ADB 服务器
要连接到远程adb 服务器,请让服务器监听所有接口:
adb kill-server
adb -a nodaemon server start
# keep this open
警告:客户端和adb 服务器之间的所有通信都未加密。
# in bash
export ADB_SERVER_SOCKET=tcp:192.168.1.2:5037
scrcpy --tunnel-host=192.168.1.2
:: in cmd
set ADB_SERVER_SOCKET=tcp:192.168.1.2:5037
scrcpy --tunnel-host=192.168.1.2
# in PowerShell
$env:ADB_SERVER_SOCKET = 'tcp:192.168.1.2:5037'
scrcpy --tunnel-host=192.168.1.2
默认情况下,scrcpy
使用用于adb forward
隧道建立的本地端口(通常27183
,请参阅--port
)。也可以强制使用不同的隧道端口(当涉及更多重定向时,它可能在更复杂的情况下有用):
scrcpy --tunnel-port=1234
ssh隧道。
要安全地与远程adb 服务器通信,最好使用 SSH 隧道。
首先,确保adb 服务器正在远程计算机上运行:
adb start-server
然后,建立 SSH 隧道:
# local 5038 --> remote 5037
# local 27183 <-- remote 27183
ssh -CN -L5038:localhost:5037 -R27183:localhost:27183 your_remote_computer
# keep this open
从另一个终端运行scrcpy
:
# in bash
export ADB_SERVER_SOCKET=tcp:localhost:5038
scrcpy
:: in cmd
set ADB_SERVER_SOCKET=tcp:localhost:5038
scrcpy
# in PowerShell
$env:ADB_SERVER_SOCKET = 'tcp:localhost:5038'
scrcpy
为避免启用远程端口转发,您可以改为强制转发连接(注意-L
而不是-R
):
# local 5038 --> remote 5037
# local 27183 --> remote 27183
ssh -CN -L5038:localhost:5037 -L27183:localhost:27183 your_remote_computer
# keep this open
从另一个终端运行scrcpy
:
# in bash
export ADB_SERVER_SOCKET=tcp:localhost:5038
scrcpy --force-adb-forward
:: in cmd
set ADB_SERVER_SOCKET=tcp:localhost:5038
scrcpy --force-adb-forward
# in PowerShell
$env:ADB_SERVER_SOCKET = 'tcp:localhost:5038'
scrcpy --force-adb-forward
与无线连接一样,降低质量可能很有用:
scrcpy -b2M -m800 --max-fps=15
窗口配置:
9)标题
默认情况下,窗口标题是设备型号。它可以改变:
scrcpy --window-title='My device'
10)位置和大小
可以指定初始窗口位置和大小:
scrcpy --window-x=100 --window-y=100 --window-width=800 --window-height=600
11)无边框
要禁用窗口装饰:
scrcpy --window-borderless
12)总在最前面
要使scrcpy窗口始终位于顶部:
scrcpy --always-on-top
13)全屏
该应用程序可以直接全屏启动:
scrcpy --fullscreen
scrcpy -f # short version
14)回转
窗口可以旋转:
scrcpy --rotation=1
可能的值:
0: 没有旋转
1:逆时针90度
2: 180 度
3:顺时针90度
也可以使用MOD+ ← (左)和MOD+ → (右)动态更改旋转。
请注意,scrcpy管理 3 种不同的旋转:
MOD+r请求设备在纵向和横向之间切换(当前运行的应用程序可能会拒绝,如果它不支持请求的方向)。
--lock-video-orientation更改镜像方向(从设备发送到计算机的视频的方向)。这会影响录音。
--rotation(或MOD+ ←/ MOD+ →)仅旋转窗口内容。这仅影响显示,不影响录制。
其他镜像选项:
要禁用控件(可以与设备交互的所有内容:输入键、鼠标事件、拖放文件):
scrcpy --no-control
scrcpy -n
16)展示
如果有多个显示器可用,则可以选择要镜像的显示器:
scrcpy --display=1
可以通过以下方式检索显示 ID 列表:
adb shell dumpsys display # search "mDisplayId=" in the output
(仅当设备至少运行 Android 10 时才能控制辅助显示器(否则它会被镜像为只读)。)
17)保持清醒
为防止设备在插入设备后延迟休眠:
scrcpy --stay-awake
scrcpy -w
关闭scrcpy时恢复初始状态。
18)关闭屏幕
使用命令行选项启动镜像时可以关闭设备屏幕:
scrcpy --turn-screen-off
scrcpy -S
或者随时按MOD+ 。o
要重新打开它,请按MOD+ Shift+ o。
在 Android 上,该POWER按钮始终会打开屏幕。为方便起见,如果 POWER通过scrcpy(通过右键单击或MOD+ p)发送,它将在一小段延迟后强制关闭屏幕(尽最大努力)。物理POWER按钮仍会导致屏幕打开。
防止设备休眠也很有用:
scrcpy --turn-screen-off --stay-awake
scrcpy -Sw