首页 文章详情

5 分钟,使用内网穿透快速实现远程手机桌面!

AirPython | 146 2022-04-19 02:53 0 0 0
UniSMS (合一短信)



点击上方 “AirPython”,选择 “加为星标

第一时间关注 Python 原创干货!


1. 前言

大家好,我是安果!

不知道大家有没有下面这些经历,比如父母在操作智能手机时遇到一些问题,在向我们求助时,我们借助语音、视频都没法在短时间内帮助他们解决问题

又比如你想远程管控儿童使用手机的内容,控制他们使用手机娱乐的时长

这时候,如果我们能远程控制手机设备,这一切都能迎刃而解!

之前有写过一篇文章,文中使用「 内网穿透 实现了 PC 端的远程访问

5 分钟,使用内网穿透快速实现远程桌面

下面将聊聊远程控制手机的一种方案,供有需要的小伙伴参考

2. 准备

在操作之前,我们需要做如下准备

2-1  PC 下载安装 JDK、ADB,并配置到环境变量

adb 全称为 Android Debug Bridge,是一个针对 Android 设备的调试工具

作为 PC 与  Android 设备的通讯桥梁,adb 一般用来管理 Android 设备

配置教程:

https://sspai.com/post/40471

2-2  PC 和 Android 设备分别安装网穿透工具

这里以蒲公英为例,到官网选择「 蒲公英-个人版 」进行下载

载地址:

https://pgy.oray.com/download/personal/#visitor

首先,保证 PC 与 Android 设备在同一局域网

然后,在 PC 端完成注册登录

最后,在 Android 设备上以同一个账号进行登录

蒲公英 PC 客户端现在展示截图如下:

2-3  PC 安装 Scrcpy 控制器

Scrpy 控制器是一款免 Root 的开源安卓设备投屏工具,支持 USB 和 WIFI 两种连接方式

它适用于 Linux、Mac OS、Windows

根据系统类型,通过下面链接选择合适的方式进行安装

PS:以 Windows 为例,我们只需要下载 Zip 压缩包,然后将文件夹目录添加到 PATH 环境变量中

https://github.com/Genymobile/scrcpy#summary

3. 实操一下

3-1  Android 设备开启网络调试并连接

首先,在 Android 设备中开启「 开发者选项 」,并打开「 USB 调试 」

不同手机开启「 开发者选项 」的方式不一样,大家可以自行搜索,另外 MIUI 需要另外开启「 USB 调试(安全设置) 」

然后,Android 设备通过数据线连接 PC,使用 adb 命令开启手机的网络调试

PS:这里指定网络连接的端口号为 6666

# 查询连接的设备列表
C:\Users\xingag>adb devices
List of devices attached
0e279f0d7d33    device

# 开启手机的网络调试,端口为6666
C:\Users\xingag>adb tcpip 6666
restarting in TCP mode port: 6666

接着,断开数据线连接,在蒲公英 PC 客户端上查看 Android 设备的 IP 地址,通过「 该 IP 地址 + 端口号 」连接手机设备

# 比如:PC版本蒲公英显示手机的ip地址为:172.11.1.233
adb connect 172.11.1.233:6666

# 使用adb命令连接设备
C:\Users\xingag>adb connect 172.11.1.233:6666
connected to 172.11.1.233:6666

最后,可以通过一些简单的 adb 命令测试一下是否能控制手机

# 比如:修改屏幕的大小
adb shell wm size 1000x1000

# 恢复原来屏幕尺寸
adb shell wm size reset

# 休眠或者解锁屏幕
adb shell input keyevent 26

3-2  局域网屏幕控制

在 CMD 命令行,使用「 scrcpy.exe 」命令就可以将手机投屏在 PC 上了,如此就能在 PC 端完成对手机的完全控制了

scrcpy 功能非常地强大,可以通过一些参数命令设置屏幕控制的特性

比如,通过 -S 设置投屏的同时关闭设备屏幕,也可以通过 -b、-m 改变比特率、限制分辨率,提高屏幕控制的响应速度

# 直接将手机界面投屏到PC上,通过PC可以控制手机界面
scrcpy.exe

# 投屏的同时,关闭设备屏幕
scrcpy.exe -S

# 通过改变比特率和限制分辨率,提高响应速度
# -b 2M:改变比特率为2M,减少延迟,默认码率为8M,码率越高,画质越好,但是同时延迟越大
# -m 1024:限制分辨率提供响应性能,分辨率越高,延迟越大
# --max-fps:限制帧率,提升响应速度
scrcpy -b 2M  -m 1024 --max-fps 15

3-3  远程屏幕控制

上面的操作都是在同一局域网下完成的 PC 端对 Android 设备的屏幕控制

事实上,只要保证 Android 设备上的蒲公英 App 一直在线,PC 即使在外网环境下,开启 PC 版本的蒲公英,也能远程控制之前配置好的 Android 设备

如此,就完成了远程控制 Android 设备屏幕的需求了

4. 最后

scrcpy 投屏工具官方只能通过命令行启动,对于经常使用的小伙伴来说,启动及参数配置都并没有那么友好

有很多开发者将 scrcpy 开发成 GUI,大家可以通过下面链接自行拓展

https://github.com/search?q=scrcpy+gui

我已将文中所有资源(包含一款 Scrcpy 投屏 GUI 工具)上传到后台,回复关键字「 220413 」即可以获取

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!


推荐阅读

自动化篇 | 实现自动化抢茅台超详细过程!

如何使用 Python 实现彩票自由(大乐透)

如何使用 Python 实现彩票自由(双色球)

JavaScript 逆向爬虫中的浏览器调试常见技巧(下)


END



🧐分享、点赞、在看,给个三连击呗!
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter