Adb forward的原理描述
基础定义
- 命令使用:
adb forward tcp:11111 tcp:22222
adb forward
的功能是建立一个转发;意思是,将PC端的11111
端口收到的数据,转发到手机中22222
端口.
adb forward 的一些基本操作
- 配好adb的环境,连上手机,执行
adb forward tcp:11111 tcp:22222
,如果执行成功的话,没有任何输出,如下:$ adb forward tcp:11111 tcp:22222
此时,通过运行adb forward --list
查看刚才的执行结果。
$ adb forward --list
- 结果:
4391b53a tcp:11111 tcp:22222
- 可以通过
adb forward --remove tcp:11111
删除建立的转发。
PC端的应用与手机端应用通信建立的过程
- 执行
adb forward tcp:11111 tcp:22222
- 启动手机端应用,建立端口为
22222
的server,并处于监听状态(LISTENING)
- 启动PC端应用,连接端口为
11111
的server(adb创建的)
- 之后,就可以传输数据了。
PC端的应用与手机端应用之间传输数据的过程
- PC端应用将数据发送给端口为
11111
的server(adb创建的);
- adb将数据转发给手机端
adbd
进程(通过USB传输);
- adbd进程将数据发送给端口为
22222
的server
(手机端应用创建的),传递是双向的,第(1)和第(3)步是通过socket
实现的,所以通过socket
的读和写就完成了PC端应用和手机端应用的数据传递。