Android调试离不开adb,adb就是Android Debug Bridge,Android调试桥接器,主要是用来管理模拟器或者真机状态的万能工具。

  • adb了解
  • adb配置
  • adb常用命令

adb了解

adb本身是一个客户端服务器应用程序,由三个组件构成,clientserverdaemon。通过它开发者就可以在开发电脑上对模拟器或真机的运行状态进行调试。

adb的基本组成如下图:

android11 adb跳转任务列表 安卓端adb工具_android11 adb跳转任务列表


运行在开发PC上,可以在命令行中运行dab命令来调用client,像adb插件和DDMS这样的Android工具也可以对其进行调用 server(服务器端部分) 运行在开发PC上的后台程序,用于管理 客户端和运行在模拟器或真机的守护进程通信 daemon(守护进程部分) 运行于模拟器或真机的后台

当启动adb客户端的时候,客户端首先检测adb服务器端是否运行,如果没有运行,则启动服务器端。当服务器端启动时,他会绑定到本地的TCP5037接口,并监听从adb客户端发来的命令–所有的adb客户端都使用5037端口和adb服务器端通信;然后服务端与所有正在运行的模拟器或手机连接,通过扫描5555-5585之间的奇数端口来搜索,一旦发现adb守护进程,则通过对应端口进行连接。
当服务端与所有的模拟器建立连接之后,就可以使用adb命令来控制或者访问了。因为服务端管理着连接并且可以接收到从多个adb客户端的命令,所以可以从任何一个客户端或脚本来控制任何模拟器或手机设备。AndroidStudio安装了ADT插件的时候不需要用命令行去连接模拟器,AS会替我们做这些工作,不过还是可以在调试的时候直接使用adb。

配置adb环境

要在AS的terminal和windows的DOS界面使用adb指令,首先就要进行adb环境配置。


  1. 下载adb,一般sdk中会带adb,就在paltform-tools文件夹下
  2. 在环境变量中配置adb路径,先创建android环境变量,内容为adb所在的路径,再向系统PATH中添加android变量。以我自己配置的为例

android环境变量
D:\sdk\android-sdk-windows\platform-tools
PATH环境变量添加
;%android%;

adb常用指令

查询模拟器或真机状态

adb services

制定操作的模拟器或真机

adb -s <设备序列号> <相关操作>
例 adb -s 172.18.144.150:5555 install test.apk

安装应用程序

adb install < apk_name>

转发端口

adb forward tcp:number tcp:number

与模拟器或真机传输文件

adb pull < romote> < local>
adb push < local> < romote>

执行shell命令来在模拟器或真机上运行各种各样的命令

adb shell

停止adb服务

kill -server

adb的命令还有很多,比如查询logcat,使用monkey进行测试,从远程检查sqlite3数据库等,用到了再详细理解。