这也是手机投屏到手机的一个实现原理
你在实际开发时是否遇到以下问题:
- 开发时总需要连接数据线,总是不方便
- 电脑输出的电流老不够,一到开发时就体验不了手机的快充
ADB在哪
$sdk/platform-tools
打开ADB远程调试
需要设备与PC出于同一局域网内
手机已有root权限?
在手机终端中执行
setprop service.adb.tcp.port 5555
stop adbd
start adbd
随后在pc端执行
adb connect 设备ip:5555
手机没有root权限
先使用数据线连接电脑
PC端输入:
adb tcpip 5555
拔掉数据线
PC端输入:
adb connect 设备ip:5555
ADB端口转发
adb forward tcp:5005 tcp:5005
#PC上所有5005端口通信数据将被重定向到手机端5005上
也就是说这个命令执行完成后,在手机上面创建一个等待5005端口的socket,我们使用pc就能来连接127.0.0.1:5005来与手机的socket通信
Fastboot是用来干嘛的?
Fastboot工具需要设备启动fastboot模式,一般是音量-加开机键长按 用来线刷你的安卓设备
这就花式了?
我们将adb/fastboot通过交叉编译到我们的arm64设备上,不会编译没关系,咱们用别人编好的
如下:
也就是说我们之前pc能对设备实现的操作,我们都能用一个设备对另外的设备进行同样的操作
手机又不能调试软件,有啥用
- 可以卸载删除局域网其他设备的app
- 管理其他设备的文件
- 通过otg数据线实现手机对手机刷机(可行,实验过了)
- 转发对方设备的端口到本设备(就可以连接对方设备的套接字,投屏等等)
跨局域网调试设备
这只给个思路
需要借助内网穿透工具(如frp),还需要一台服务器
依旧使用arm64的frp,将设备的adb远程监听端口映射到服务器的指定端口
随后在PC执行
adb connect 服务器ip:你指定的端口
这样就实现了调试外网的任意设备 就可以通过scrcpy等工具远程控制外网的设备