标签:
Android开发环境中,ADB是我们进行经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的。
Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:
(1) 客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
(2) 服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。
(3) 守护进程部分,运行于模拟器或手机的后台。
可以在<sdk>/platform-tools/目录下找到adb.exe工具。
当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP 5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。
接下来服务端与所有正在运行的模拟器或手机连接。它通过扫描5555-5585之间的奇数号端口来搜索模拟器或手机,一旦发现adb守护进程,就通过此端口进行连接。需要说明的是,每一个模拟器或手机使用一对有序的端口,偶数号端口用于控制台连接,奇数号端口用于adb连接,例如:
Emulator 1, console: 5554
Emulator 1, adb: 5555
Emulator 2, console: 5556
Emulator 2, adb: 5557 ...
即如果模拟器与adb在5555端口连接,则其与控制台的连接就是5554端口。
当服务端与所有的模拟器建立连接之后,就可以使用adb命令来控制或者访问了。因为服务端管理着连接并且可以接收到从多个adb客户端的命令,所以可以从任何一个客户端或脚本来控制任何模拟器或手机设备。
为了对手机进行adb调试,需要先将手机通过USB连接到开发用的电脑上,然后在手机的 "系统设置","开发者选项" 下使能 "USB调试"。
待续。。。
从开发用电脑的命令行或脚本文件中使用adb命令的用法是:
adb [-d|-e|-s <serialNumber>] <command>
如果只有一个模拟器运行或只有一个手机相连,则adb命令缺省发送给这个设备。如果有多个模拟器或手机正在运行,就需要使用-d, -e或-s参数指定要操作的是哪一个。
待续
参考资料
[1] Android ADB使用之详细篇, http://www.jizhuomi.com/android/environment/191.html
[2] Android Debug Bridge, http://developer.android.com/intl/zh-cn/tools/help/adb.html
Windows环境下Android Studio V1.2.2系列7—ADB
标签:
原文地址:http://my.oschina.net/1pei/blog/482484