平时android开发工作,经常要用到设备调试,很多不是很熟悉ADB命令,其实ADB调试很方便,而且功能很强大。
1.定义:Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。
该工具作为一个客户端-服务器程序,包括三个组件:
客户端:计算机上运行。发送命令。发出 adb 命令从命令行终端调用客户端。
后台程序:设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
服务器:计算机上作为后台进程运,行管理客户端和后台程序之间的通信。
可在android_sdk/platform-tools/ 中找到 adb 工具。
2.连接原理:
1.adb客户端启动时,先检测adb服务器进程,未发现就重新启动。如已启动,绑定本地5307端口,监听该端口 通讯。
2.服务器扫描5555到5558之间奇数端口,查找设备(真机或者模拟器)。服务器管理与模拟器/设备实例的连
接,并处理来自多个 adb 客户端的命令。这里真机或者模拟器会被分配一对端口,偶数号用于与控制台连接,
奇数号用于与adb连接。
3.使用前提 :
adb 使用本质就是通过pc终端命令行控制android设备,要求设备本身必须打开了开发者模式(USB debugging,位于 Developer options 下)。在运行 Android 4.2 及更高版本的设备上,Developer options 屏幕默认情况下处于隐藏状态。如需将其显示出来,请转到 Settings > About phone 并点按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。这一点很多新手可能不知道。
4.设备连接方式:
1.普通usb连接
2.wlan连接,这里的设置有点复杂,且实测不稳定。能翻墙童鞋推荐直接参考官网介绍。
5. 主要命令
例如
5.2将命令发送至特定设备
使用由 adb 分配的序列号为命令指定目标实例。使用 命令获取正在运行的模拟器/设备实例的序列号。例如:
命令。使用此命令,必须指定您要安装的 APK 文件的路径:
使用 Android Studio,无需直接使用 adb(或 aapt)在模拟器/设备上安装应用。由 Android Studio 处理应用的打包和安装。
使用 命令设置任意端口转发 — 将对特定主机端口的请求转发到模拟器/设备实例上的其他端口。下面介绍如何设置主机端口 6100 到模拟器/设备端口 7100 的转发:
也可以使用 adb 设置传输到指定的抽象 UNIX 网域套接字的转发,如下所示:
使用 adb 命令 和 将文件复制到模拟器/设备实例或从其中复制文件。与 命令不同(其仅将 APK 文件复制到特定位置), 和 命令将任意目录和文件复制到模拟器/设备实例中的任意位置。
要从模拟器或设备复制文件或目录(及其子目录),使用
要将文件文件或目录(及其子目录)复制到模拟器或设备,使用
在上述命令中, 和 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径。例如:
在某些情况下,需要终止 adb 服务器进程,然后重启它以解决问题(例如,如果 adb 不响应命令)。
要停止 adb 服务器,使用 命令。然后,可以通过发出任意其他 adb 命令重启服务器。
5.7 adb 命令格式
在计算机上从命令行发出 adb 命令,或通过脚本发出。用法如下:
如果只有一个模拟器在运行或只连接了一个设备,则默认情况下将 adb 命令发送至该设备。如果有多个模拟器在运行和/或连接了多个设备,需要使用、 或 选项指定应向其发送命令的目标设备。
5.8调用 Activity Manager ()
在 adb shell 中,可以使用 Activity Manager () 工具发出命令以执行各种系统操作,如启动 Activity、强行停止进程、广播 intent、修改设备屏幕属性及其他操作。在 shell 中,此语法为:
也可以直接从 adb 发出 Activity Manager 命令,无需进入远程 shell。例如:
5.9 调用软件包管理器 ()
在 adb shell 中,可以使用软件包管理器 () 工具发出命令,以对设备上安装的应用软件包进行操作和查询。在 shell 中,此语法为:
可以直接从 adb 发出软件包管理器命令,无需进入远程 shell。例如:
5.10进行屏幕截图
命令是一个用于对设备显示屏进行屏幕截图的 shell 实用程序。在 shell 中,此语法为:
要从命令行使用 ,请输入以下命令:
以下屏幕截图会话示例展示使用 adb shell 捕获屏幕截图,并使用 命令从设备下载此文件:
5.11录制视频
命令是一个用于录制设备(运行 Android 4.4(API 级别 19)及更高版本)显示屏的 shell 实用程序。此实用程序将屏幕 Activity 录制到 MPEG-4 文件。
注:音频不与视频文件一起录制。
开发者可以使用此文件创建宣传视频或培训视频。在 shell 中,此语法为:
要从命令行使用 ,请输入以下命令:
按 Control + C 停止屏幕录制,否则,到三分钟或 设置的时间限制时,录制将自动停止。
要开始录制设备屏幕,请运行 命令以录制视频。然后,运行 命令从设备将此视频下载到主计算机。下面是一个录制会话示例:
5.12读取应用的 ART 配置文件
从 Android 7.0(API 级别 24)开始,Android Runtime (ART) 会收集已安装应用的执行配置文件,其可用于优化应用性能。想要检查收集的配置文件,以了解在应用启动期间,系统决定频繁执行哪些方法和使用哪些类。
要生成配置文件信息的文本表单,请使用以下命令:
要检索生成的文件,请使用:
5.13其他 shell 命令
如需所有可用 shell 程序的列表,使用以下命令:
大多数命令都提供帮助说明。
表 5 列出了一些比较常用的 adb shell 命令。
表 5. 其他一些 adb shell 命令
5.14 adb 映射