ADB是什么?

Adb的全称为Android Debug Bridge:android调试桥梁,下图为Android官方对adb的介绍:

可以看出,Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能;

我们可以在android sdk安装目录的platform-tools目录下找到adb工具:

ADB架构

ADB是一个C/S架构的应用程序,由三部分组成:

1、运行在pc端的adb client:

命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求;

2、运行在pc端的adb server:

ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上;

3、运行在设备端的常驻进程adb demon:

程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务;

ADB常用命令

查看已连接设备:adb devices

强制覆盖安装APK: adb install –r ,参数-r 可选,代表强制安装,如果不加-r,覆盖安装会失败

卸载apk:adb uninstall

首先通过aapt程序获取到需要卸载apk的包名(packagename):com.pafinancialtech.zijinbank

推送文件到设备:adb push

本地文件路径:/Users/darylzhang/Downloads/ZijinBank_new.apk

远程文件路径:/data/local/tmp

从设备拷贝文件到电脑: adb pull

远程文件路径:/data/local/tmp/ZijinBank_new.apk

本地文件路径:/Users/darylzhang/Downloads/ZijinBank_new.apk

查看对应设备日志:adb logcat

在设备执行shell:adb shell

ADB进阶-无线ADB

1、通过adb usb打开设备上的tcpip服务并绑定一个端口:adb tcpip 5555

2、ADB Client通过命令:adb connect ip连接远程的终端

3、随后就可以正常执行adb命令