ADB
ADB
,即 Android Debug Bridge
,是 Android 开发中通过 PC 端控制 Android 设备的重要命令行工具。
ADB 是一个客户端-服务端程序,包含以下三部分功能:
- 一个客户端,运行在开发 PC 上。可以通过 ADB 命令行来调用客户端。其他的 Android 工具,例如
ADT
和DDMS
都是由 ADB 创建的。 - 一个服务端,以后台进程运行在开发 PC 上。服务端用于客户端与模拟器或者 Android 设备上的守护进程的通讯。
- 一个守护进程,以后台进程运行在模拟器或者 Android 设备上。
如何使用 ADB
- 配置 ADB 环境变量
- Windows
将<Android SDK>/platform-tools/
添加在系统环境到path
- Mac
在配置文件中写入export PATH=${PATH}:<Android SDK>/platform-tools/
- Windows
- 打开手机中的
USB调试
功能。 - 将手机通过 USB 连接至 PC(可能需要安装驱动),在手机上同意授权。
无线连接
ADB还可以通过无线连接,仅需要简单配置即可实现在 Wi-Fi 下使用 ADB
将 PC 与手机连接至同一 Wi-Fi 下。
通过 USB 连接手机。
设置手机监听
TCP/IP 5555
端口1$ adb tcpip 5555若PC连接多个手机,需要指定设备
123456$ adb devicesList of devices attached[serialNumber1] device[serialNumber2] device$ adb tcpip 5555 -s <serialNumber1>查询手机的内网 ip 地址。
连接手机
1$ adb connect <device-ip-address>确定是否已连接
123$ adb devicesList of devices attached<device-ip-address>:5555 device
录制视频
在 Android 4.4(API 19)之后的设备上,可以通过 screenrecord
命令方便地录制视频。录制的视频格式为 MPEG-4
。
注意:录制的视频只有画面,没有声音。
部分设备不支持原生屏幕分辨率,尝试低分辨录制
录制过程中不支持屏幕旋转,若发生旋转,则部分画面会被裁剪。
基本用法
|
|
例如:
视频默认时长 180 秒,按 Ctrl-C 可提前中断录制。
使用 adb pull
命令复制录制的视频文件
默认视频分辨率为手机的原始分辨率
默认比特率为 4 Mbps
修改时长
添加 --time-limit <TIME>
例如调整为 60 秒:
调整视频分辨率
添加 --size <WIDTHxHEIGHT>
例如调整为 1280 x 720 :
调节比特率
添加 --bit-rate <RATE>
例如调整比特率为 2 Mbps:
其他
在命令行显示录制信息--verbose
将视频方向旋转90°--rotate
帮助--help
常用命令
查看已连接设备
查看已连接的设备,包括 USB 连接与 TCP/IP 5555 端口连接的设备。
Serial number
- 真实设备显示为控制台序号
- 通过 TCP/IP 5555 端口连接的会显示
192.168.xxx.xxx:5555
- 模拟器会显示为
emulator-xxxx
state
offline
- 已连接但设备无响应。device
- 已连接至adb服务。adb服务在设备开机时即开始加载,故设备可能处于开机状态。no device
- 没有设备或模拟器连接。
添加-l
可查看设备限定词12$ adb devices -l[serialNumber] [state] product:[...] model:[...] device:[...]
远程shell
运行手机内的 /system/bin/...
的命令
进入连接设备的shell命令行
12adb shellshell@ $输入
exit
退出远程shell或者按CTRL+D
。- 单次使用远程shell命令 1adb shell [command]
选择设备
当只连接单个设备或者模拟器时,adb shell会默认选择已连接的设备。当连接多个设备时,有些命令需要指定选择的设备。可通过 -d|-e|-s <specific device>
选择设备。
-d
- 选择通过USB连接的设备,当有多个设备通过USB连接时返回错误。
-e
- 选择模拟器,当有多个模拟器时返回错误。
-s <specific device>
- 根据设备序列号或者限定词选择设备。
安装APK
|
|