使用 scrcpy 对 Android 手机投屏

发布于 2023-07-01  73 次阅读


版本

前言

对于某些时候想要拷贝文字、传文件的我来说,没有比 PC 上直接拖到手机里面更方便的了。先前也想过用服务器中转、远程访问等,不过总感觉不方便。

多屏协作来说,华为一直是不错的,但是我真的不想为了一个投屏就安装华为电脑管家。。。带 XX 管家字样的我总会有些阴影。。。找了一圈发现了个开源的工具,手机端不需要安装任何 APP,对于我来说,功能已经足够了!

部署

手机端需要开启 USB 调试模式,首先开启开发人员选项:

在 设置->关于手机 里面,对版本号那行点 7 次,直至出现“您已处于开发者模式,无需操作”时,返回设置,进入开发人员选项(我这边是在 设置->系统和更新->开发人员选项)

找到 USB 调试那行开启功能即可!

注意:华为手机直接开启后退回再进有可能会发现 USB 调试模式被自动关闭了,这边可以尝试在 开发人员选项 中找到“选择 USB 配置”,选择“MTP(多媒体传输)”,即可!

使用

投屏有 2 种方案,有线和无线(设备必须在同一局域网内)。无线方案在初次使用或手机不重启的情况下,需要连上电脑一次,开启调试端口。

无线投屏

手机连接 PC 后,运行 open_a_terminal_here.bat 在当前目录打开 cmd,可以看看能不能查到设备:

adb.exe devices

列表有显示就是你的设备,然后输入如下命令开启端口:

adb.exe tcpip 5555
在重启手机的情况下,该端口会始终保持开放

然后找到手机局域网内的 ip 地址:

不出意外的话,手机会弹出是否允许 USB 调试的窗口,勾上 始终允许使用这台计算机进行调试,然后确定。(此时,就可以拔掉连接线了)

最后,输入以下命令连接即可:

scrcpy.exe --prefer-text --turn-screen-off --stay-awake

--prefer-text:以文本事件输入(但是在玩游戏时,可能会有问题,比如 W S A D 按键),具体参阅官方文档

--turn-screen-off:连接后关闭手机屏幕。

--stay-awake:保持唤醒,即手机不锁屏。

--stay-awake 在无线连接时,可能失效!

后续要再次连接时,也可以把两行命令合并成一行,做成个 bat 放在目录下,要用时双击打开就行了,参考命令:

@echo off
scrcpy.exe --tcpip=192.168.2.60:5555 --prefer-text --turn-screen-off --stay-awake
:: if the exit code is >= 1, then pause
if errorlevel 1 pause

有线投屏

这个比较简单,连上手机后,直接打开目录下 open_a_terminal_here.bat 输入命令启动即可:

scrcpy.exe --prefer-text --turn-screen-off --stay-awake

注意问题

很多反馈的问题,对中文输入支持好像并不是很友好的样子,直接输入中文控制台中会显示字符不识别(只认 ASCII,所以投屏手机界面中,电脑输入法只能切会英文),但是手机里面输入就有问题了!华为自带的百度输入法好像不支持,不过我测试换了讯飞就可以识别到了,勉强应急吧~

真希望华为能把多屏协同的给独立出来单独做个小软件,全家桶的模式真的是无奈啊~

如果不想体验命令行的繁复,可以试试基于 scrcpy 的开源 gui 界面项目 guiscrcpy ,这里就不在赘述了。