如何将手机屏幕无线投屏至电脑上

Wireless monitoring

Posted by Orville Yang on March 14, 2022

前言

手机的屏幕实在是太太太小了,一直盯着眼睛实在是很累。在排除掉平板的选项之后,我希望寻找一个可以将手机屏幕无线投屏到电脑上的工具。在尝试过数个商用软件后,我被其广告、流氓行为(包括但不限于使用ADB往手机里塞垃圾软件)搞得深恶痛绝,因而我寻找到了一款开源工具实现这一功能。

Scrcpy。这个工具可以实现ADB下的无线投屏(有线/无线),并且延迟低、可选项多、不会在手机内留下垃圾。你可以从Github页面的Releases中下载最新版解压。后续的操作均在Windows下,其它系统可以参考Github。

首先介绍一下基本概念。ADB(Android Debug Bridge)是安卓官方提供给开发者的工具,通过这一工具可以将安卓设备与计算机连接,并通过计算机实现各种高权限的操作(所以千万不要给你不知道的电脑授权USB调试权限,也不要使用火车站、机场、商场的“免费”充电站)。

第一步:使用无线ADB将手机连接到电脑

虽然工具封装得很好,但是连接这一步还是得自己手动操作。

打开USB调试选项

首先,你需要打开手机的USB调试功能。这个选项开关一般在设置-关于手机-开发者选项中(如果没有开发者选项的话,可以尝试多次点击安卓版本号,如果还不行的话请自行百度对应机型启用开发者选项的方法)。如果你想要实现无线投屏的话,你还需要将下方的通过网络调试选项打开。部分机型可能会存在一个类似通过无线网络调试的选项,我这里选与不选并没有影响。

通过有线授权一次USB调试权限

对,没错。你是没办法跳过连接线直接使用无线ADB的,必须先使用USB线连接授权过一次才可以。

将手机和电脑用USB线连接

如题。

找到ADB工具

在从Github上下载的Scrcpy中解压出的文件夹中可以找到附带的adb工具,免去了再次下载的烦恼。直接在文件夹内部右键,选择在此处打开Windows终端。WIN10以下的系统,可以自行启用CMD,再将文件夹切换至Scrcpy的文件夹。

授权ADB权限

完成上述步骤后,在终端中尝试执行:

1
adb devices

这时候你的手机会弹出一个对话框,问你要不要授权这台电脑USB调试权限,点击是。如果这是你自己的电脑,你可以选择永远授权此电脑,那么以后他会在你连接上这台电脑的时候默认授权(但是你要确保你电脑上没有病毒或者流氓软件)。

如果你这一步失败了,那么命令会输出这么一段话:

1
de22s8a2 unauthorized

前面那一串字符是你的设备代号(当然,这一串是我编的)。出现这一输出的话,你需要检查你前面的步骤是否正确,例如USB调试选项是否正确启用了。确认设置没问题的话,你可以简单地拔下USB线再重新连接,然后再次输入adb devices命令尝试,注意手机屏幕上弹出的授权认证选项。

如果成功了的话,命令会输出这一段话:

1
de22s8a2 device

设定ADB网络端口

此时再执行如下命令,设定USB网络调试的端口(默认为5555):

1
adb tcpip 5555

此时弹出一个提示说ADB切换至网络模式,你就可以断开数据线了。

测试无线连接

在无线连接到你手机时,有几个准备操作需要完成。首先你需要确保手机、电脑处于同一个局域网内,换成人话就是这俩需要连接在一个路由器上,你手机使用移动网络、电脑使用有线宽带,它肯定是没法直接连接的。

其次,你需要知道你手机的ip地址。打开设置-网络-WLAN,查看你现在连接的wifi的地址。例如我的是192.168.1.3。

那么在终端中输入以下命令:

1
adb connect 192.168.1.3:5555

再执行:

1
adb devices

如果出现的是:

1
de22s8a2 device

就说明成功了。如果出现其他的,则表示连接存在问题。你需要检查前面的步骤是否正确,两个设备是否连接在同一局域网并且可以互相访问,防火墙设置是否正确等等。

第二步:运行Scrcpy

如果你通过有线连接的话,此时直接执行:

1
scrcpy

即可。Scrcpy会以默认配置(手机分辨率,8M码率)运行。如果使用的是Powershell,则需要在前面加上.\再执行。

如果你像我一样通过无线连接的话,此时执行:

1
scrcpy --tcpip=192.168.1.3:5555

即可。

后言

Scrcpy还提供了很多其他功能,例如镜像时关闭手机屏幕,限制码率、分辨率、帧率,翻转屏幕等等,推荐去仔细翻翻它的Github页面