adb用于在电脑与Android设备之间建立通信,实现调试、文件传输和应用管理等功能。
在安装AndroidStudio的时候实际上已经默认安装了adb,位于SDK目录下的platform-tools中。也可以直接搜索下载安装。
ADB 是一个 C/S(客户端-服务端)架构,包含三部分:
| 组件 |
作用 |
| **Client(客户端)** |
电脑上运行的 adb 命令,比如 adb devices |
| **Server(服务端)** |
电脑后台的守护进程,负责管理设备连接,端口 5037 |
| **Daemon(守护进程)** |
运行在安卓设备端,真正执行命令的进程 |
流程:
1 2 3 4 5 6 7
| 你在电脑敲 adb 命令 ↓ Client 把命令发给本机 Server(端口 5037) ↓ Server 通过 USB / TCP 连接设备上的 Daemon ↓ Daemon 在安卓系统里执行命令,返回结果
|
其中Client和Server端都在电脑上,Daemon在手机端。
常用指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| adb/adb help/adb --help adb version 显示adb版本和路径 adb start-server 启动server adb kill-server 停止server adb devices 显示连接的设备列表 adb install xxx.apk 通过 adb 安装app adb install -r xxx.apk 覆盖安装 adb uninstall 包名 通过adb卸载app,包名要通过反编译工具得到 adb connect 127.0.0.1:7555 连接模拟器(网络通道) adb shell adb打开手机终端 adb -s 127.0.0.1:16384 shell adb打开指定设备终端 adb disconnect 设备名 adb断开某个设备 adb push 源文件 目标目录 adb推送文件 adb pull 远程文件 本地目录 abd拉去文件 adb shell pm list packages adb列出所有已安装应用
|
这里对pm进行一个介绍
pm 是 Package Manager(包管理器)的缩写,是 Android 系统内置的一个命令行工具,用来管理设备上安装的应用包。
类似于apt,apt-get,或者archlinux的pacman
1 2 3 4 5 6 7 8 9 10 11 12 13
| pm list packages # 列出所有已安装应用 pm list packages -s # 只列出系统应用 pm list packages -3 # 只列出第三方应用 pm list packages -d # 列出已禁用应用 pm list packages -i # 列出应用安装来源 pm list packages | grep tencent # 按关键字过滤 pm path 包名 # 查某个应用的APK路径 pm dump 包名 # 查看应用详细信息 pm uninstall 包名 # 卸载应用 pm install /sdcard/xxx.apk # 安装应用 pm clear 包名 # 清除应用数据 pm disable-user 包名 # 禁用应用 pm enable 包名 # 启用应用
|