1. ADB 的原理
1.1. 什么的ADB?
ADB的全称是Android Debug Bridge
,翻译成中文是:Android调试桥接器
。ADB是Android开发工具包(SDK)中的一个多功能命令行工具,最初由Google开发,允许开发者与Android设备进行通信,用于Android设备的调试和测试,如:安装和调试应用、访问设备文件系统等。
现在ADB工具不仅用于Android设备的调试,还广泛应用于各种嵌入式设备的调试。
1.2. ADB的组成
ADB提供了一个客户端-服务器模型,通过这个模型,开发者可以在计算机上运行命令,然后这些命令会被发送到连接的Android设备或模拟器上执行。ADB包括三个主要部分:
客户端(Client):
- 运行在开发者的计算机上。
- 负责发送命令到服务器。
- 通常通过终端或IDE(如Android Studio)中的ADB命令行界面来使用。
服务器(Server):
- 作为后台进程运行在开发者的计算机上。
- 管理客户端和守护进程(Daemon)之间的通信。
- 负责发现连接的Android设备和模拟器。
说明:
- ADB服务器默认监听TCP端口5037。你可以使用
netstat -an | grep 5037
命令验证ADB服务器是否在监听该端口. - Linux下可以使用
ps aux | grep adb
命令查看ADB服务器的进程号
守护进程(Daemon):
- 运行在每个Android设备或模拟器上。
- 负责在设备上执行客户端发送的命令。
- 通过USB或Wi-Fi与服务器通信。
1.3. ADB的原理
启动过程:
- 当开发者运行一个ADB命令时,客户端首先启动服务器(如果服务器尚未运行)。
- 服务器启动后,会与所有连接的设备上的守护进程建立连接。
通信过程:
- 客户端发送命令到服务器。
- 服务器将命令转发给目标设备上的守护进程。
- 守护进程执行命令并将结果返回给服务器。
- 服务器将结果返回给客户端。
功能实现:
- ADB通过上述通信机制实现多种功能,如文件传输、shell命令执行、应用安装和卸载、日志捕获等。
2. ADB的安装
2.1. Windows
- 浏览器进入 adb官网下载地址.
- 下载适用于 Windows 的 SDK Platform-Tools.
- 接下来会弹出“条款协议”,勾选“同意”并点击“下载”。
- 解压安装:直接解压到需要存放的安装目录。
- 配置环境变量:将adb.exe所在的目录添加到环境变量Path中。
- 验证adb是否安装成功:打开命令行,输入
adb --version
命令,如果出现adb版本号,则安装成功。
2.2. Linux(Ubuntu)
1 | # 安装adb |
2.3. macOS
1 | # 安装adb |
3. ADB的用法
3.1. 查看设备列表
1 | adb devices |
3.2. 进入设备的命令行(Shell)环境
1 | # 设备列表只有单个设备时,通过以下命令进入设备 |
3.3. 连接无线设备
首先,要确保你的设备和电脑连接到同一个Wi-Fi网络(局域网)。
连接/断开无线设备:
1 | # 建立连接 |
说明:
ip
是你要连接的无线设备的IP地址。port
是你要连接的设备的端口号。端口号是可选的,如果一个IP下有多个设备则需要加上端口号(如:一台电脑里开启了多个模拟器)。
Demo演示:
1 | # 1. 连接无线设备 |
3.4. 重启adb服务
1 | # 停止当前运行的ADB服务器进程 |
- 应用场景: 当你的设备USB连接正常但adb却无法查看到设备了,可以尝试重启adb服务来解决。
- 命令说明:
kill-server
停止adb服务后,再次使用adb命令时,一般会自动重启adb的服务;如果没有重启,可以通过上面的命令手动启动。
3.5. 拉取或推送文件
1 | # 从本地复制文件到设备 |
3.6. 其他常用指令
1 | # 安装应用 |