当启动一个 adb客户端 的时候,客户端会首先检测是否已经有adb
服务进程运行,如果没有运行,那么它会首先启动一个服务进程,当服务进程启动后,服务进程绑定本地的5037
端口,并且监听所有来自 adb客户端 的命令,所有的 adb客户端 通过5037
与 adb 服务端进行交互。
服务端运行之后与所有运行的模拟器或真机建立链接,它通过一组范围从5555
到5585
的奇数的端口检索到所有的模拟器或真机。每一台模拟器或真机需要获取一对连续的端口,偶数端口用于控制台的连接,奇数端口用于adb的链接。
当然,如果你用Eclipse开发,并且也安装了ADT
插件,那么你没必要通过adb
命令行与模拟器或真机交互,ADT
插件已经完美的将adb
整合进了Eclipse IDE。当然还是提倡多使用adb命令行,这样的话比较方便自定义debug方法,同时也可以更好的理解其工作原理。
logcat
是android
中的一个命令行工具,可以用于得到程序的log信息。一般情况下,在做APP测试的时候,其实并不需要经常使用adb
去抓取应用日志,因为正常情况下都会有预期结果和实际结果作对比。真正需要用到adb
抓取日志的情况,是在测试过程中出现了异常问题,比如测试过程中系统突然卡了、直接(Crash)崩掉、应用程序无响应(ANR)&