APP测试(二)

Adb forward的原理描述

Posted by MiaoMiaoMiao on October 2, 2020

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删除建立的转发。

原理图.png

PC端的应用与手机端应用通信建立的过程

  1. 执行adb forward tcp:11111 tcp:22222
  2. 启动手机端应用,建立端口为22222的server,并处于监听状态(LISTENING)
  3. 启动PC端应用,连接端口为11111的server(adb创建的)
  4. 之后,就可以传输数据了。

PC端的应用与手机端应用之间传输数据的过程

  1. PC端应用将数据发送给端口为11111的server(adb创建的);
  2. adb将数据转发给手机端adbd进程(通过USB传输);
  3. adbd进程将数据发送给端口为22222server(手机端应用创建的),传递是双向的,第(1)和第(3)步是通过socket实现的,所以通过socket的读和写就完成了PC端应用和手机端应用的数据传递。

bye