Android 外网远程连接真机进行开发调试
本文主要介绍如何在外网远程连接真机进行开发调试,比如你的备用机在家里你又想在公司远程连接进行一番调试(不要问我为啥不把手机带在身上),不多说直接开始。
0、思路
我们知道 Android 手机可以通过 tcpip
命令打开远程调试端口,在内网就可以通过 ip 使用 adb 进行远程连接了。但是如果在外网这种方法就不行了,因为我们的手机没有公网 ip ,无法通过 ip 直接连接手机。
所以我们这里使用 frp
内网穿透来实现,即通过内网穿透将手机代理到外网,这样我们就可以使用 adb 来进行连接了。
1、准备
电脑一台
Android 手机一台
具有公网ip的服务器一台:内网穿透服务器
frp:内网穿透程序
QtScrcpy: Android 投屏软件,使用 adb 连接手机将手机画面投屏到电脑,并可通过电脑控制手机
2、实现
2.1、打开手机的远程调试端口
首先开启手机的 USB 调试模式,将手机通过 USB 连接电脑,使用 adb 命令打开远程调试端口:
adb tcpip 5555 复制代码
2.2、安装 frp
frp分为服务端和客户端,我们需要将服务端安装到你公网的服务器上,将客户端安装到手机里。frp 下载地址:github.com/fatedier/fr… ,根据你的服务器系统下载对应版本。
2.2.1 安装 frp 服务端
因为我的服务器是 Linux 系统的,所以我这里下载的是 linux-amd64 的 frp 包,将其上传到服务器解压, frps.ini
默认配置内容:
[common] bind_port = 7000 复制代码
即默认监听 7000 端口作为我们的 frp 服务端口,你也可以改成其他端口,然后通过命令启动 frp 服务:
./frps 复制代码
运行 frps 即启动了我们的服务,也可以使用 nohup
命令将服务放到后台一直运行:
nohup ./frps & 复制代码
2.2.2 安装 frp 客户端
客户端就需要安装到手机里,我们下载对应手机平台的 frp 版本 linux-arm64,如果是其他架构的手机选择下载对应版本的即可。
下载完成后将 frp 解压然后上传到手机的 /data/local/tmp
目录下,注意只能是这个目录,其他目录下执行命令会报错。然后修改 frpc.ini
配置文件的内容:
[common] server_addr = x.x.x.x #frp 服务器的ip server_port = 7000 # frp 服务端口 [adb] # 名称 随便取 type = tcp local_ip = 127.0.0.1 # 手机本地地址 local_port = 5555 # 手机调试端口,即第一打开的调试端口 remote_port = 8555 # frp服务穿透的端口 复制代码
8555
为 frp 服务穿透的端口,需要开放防火墙便于后面使用 adb 连接
配置好后,使用 adb 上传到手机:
db push frp_0.38.0_linux_arm64 /data/local/tmp/frp 复制代码
然后使用启动 frp 客户端服务
cd /data/local/tem/frp ./frpc #后台运行 nohup ./frpc & 复制代码
frpc 即客户端服务。
2.3 连接
上面我们已经将我们的 frp 安装配置好了,这样我们就可以通过外网访问我们手机的远程调试端口了。 使用 adb 进行连接:
adb connect x.x.x.x:8555 复制代码
然后使用 adb device 看一下是否连接成功:
List of devices attached x.x.x.x:8555 device 复制代码
可以看到我们已经连接成功了,这个时候我们就可以通过 adb 进行远程调试了,比如安装应用调试。
2.4、使用 QtScrcpy 将远程设备投屏到电脑
上一步我们已经实现了远程连接手机了,但是我们看不到手机的画面,没法进行手机的操作,所以我们需要使用到 QtScrcpy 这款软件,将远程手机的画面投屏到电脑,并可以使用电脑控制手机。
选择对应的版本下载安装,安装完后启动软件
启动后刷新设备列表就能看到我们上面使用 adb 连接的远程设备了。也可以直接使用下面的无线连接直接进行连接。 选择设备进行连接后就能看到我们的手机画面了,并且能够进行控制:
到此,我们就实现了远程连接手机并对手机进行控制了。
作者:loongwind
链接:https://juejin.cn/post/7038387190233071647
伪原创工具 SEO网站优化 https://www.237it.com/