引言:使用过的命令行简单记录。
时间:2017年06月19日
作者:JustDo23
Github:https://github.com/JustDo23
官网:https://developer.android.com/studio/command-line/adb.html
01. 简介
Android Debug Bridg 简称 adb 译文 Android 调试桥,是一个通用的命令行工具。使 PC 端与手机端可以建立桥梁。它是一个 C/S 的客户端-服务器程序,包含三个组件:
- 客户端,该组件发送命令。在开发计算机上通过 adb 命令调用。
- 后台程序,该组件在 Android 设备上运行命令。在模拟器或设备实例作为后台进程运行。
- 服务器,该组件管理客户端和后台程序的通信。在开发计算机上作为后台进程运行。
工具的位置:android_sdk/platform-tools/adb
02. 工作方式
启动一个 adb 客户端时,此客户端首先检查是否有已经运行的 adb 服务进程。如果没有就启动服务,服务启动时会与本地 TCP 端口 5037 进行绑定,并侦听从 adb 客户端发送的命令。然后,服务器将与所有设备进行连接,它通过扫描5555到5585之间的奇数号端口来查找定位设备。服务器一旦发现 adb 后台程序,将与对应的端口进行连接。
-
所有的 adb 客户端均使用 端口 5037 与 adb 服务器进行通信。
-
每个模拟器/设备实例都将获取一对按顺序排列的端口。
- 偶数号端口用于控制台连接
- 奇数好端口用于 adb 客户端连接
模拟器 1,控制台:5554 模拟器 1,adb:5555 模拟器 2,控制台:5556 模拟器 2,adb:5557 以此类推...
一旦服务与所有的设备建立了连接,就可以使用 adb 命令去访问这些设备。由于服务器管理与设备的连接,同时处理来自多个 adb 客户端的命令,因此,可以从任意的客户端或脚本去控制任意已连接的设备。
03. 命令
Android Debug Bridg |
---|
adb root |
获取权限 |
adb devices |
显示当前运行的设备 |
adb version |
查看当前版本 |
adb kill-server |
杀死服务 |
adb start-server |
启动服务 |
adb uninstall packageName |
通过主包名卸载安装的应用 |
adb install apkPath |
通过路径去安装应用程序 |
adb shell |
进入到手机的内核 |
adb shell getprop ro.build.version.release |
获取手机系统版本号 例如5.1 |
adb shell getprop ro.build.version.sdk |
获取手机系统版本号 例如22 |
adb push local remote |
将文件推入手机 |
adb pull remote local |
从手机中拉取文件 |
04. 多设备
当有多个设备同时连接时,发出 adb 命令必须要指定一个目标实例,否则 adb 将生成一个错误。
adb -s serial_number command
使用-s
来指定序列号
为命令的目标实例。
如果多个设备中只有一个模拟器,那么使用-e
选项来指定模拟器为目标设备。同样,如果多个设备只有一个是硬件设备,则使用-d
指定硬件设备为目标设备。
adb [-d|-e|-s serial_number] command
05. 屏幕截图
$ adb shell screencap /sdcard/screen.png
06. 录制视频
使用screenrecord
命令进行录制生成MPEG-4
类型文件。
$ adb shell screenrecord /sdcard/demo.mp4
默认情况下是录制3分钟
当然中途可以按下 Control + C
强行停止。
注意:音频不与视频一起录制。
screenrecord
可以对任何支持的分辨率和比特率进行录制,同时保留设备显示的横纵比。默认情况下,以原生的分辨率和屏幕方向进行录制,最大时长为三分钟。
已知的限制:
- 某些设备可能无法使用原生分辨率进行录制,可以尝试使用较低分辨率进行录制。
- 录制过程中不支持屏幕旋转,如发生旋转部分录制将被切断。
关于命令的一些选项符,可以进入 shell 执行 screenrecord --help
查看
-
--size WIDTHxHEIGHT
- 设置视频尺寸。默认使用设备原生分辨率,如果不支持则使用
1280x720
。为实现最佳效果可以使用设备AVC 编码器
支持的大小。
- 设置视频尺寸。默认使用设备原生分辨率,如果不支持则使用
-
--bit-rate RATE
- 设置视频比特率,
比特/每秒
,默认值4000000
也就是4Mbps
。可以增加比特率提升视频质量,相应的视频文件会变大。
- 设置视频比特率,
-
--bugreport
- 错误报告,帮助发现录制过程中的错误信息。
-
--time-limit TIME
- 设置录制时间,单位是
秒
。默认值
和最大值
都是180
。
- 设置录制时间,单位是
-
--rotate
- 将输出旋转90度,此功能为实验性的。
-
--verbose
- 录制过程中显示相关的信息。
-
--help
- 查看语法和选项等帮助
其他
- Call activity manager
- Call package manager
网友评论