android的开发要经常与adb打交道,要想做好开发工作,了解adb是必不可少的。一下记录adb的一些知识点和命令。以作记录。
官方对ADB的定义:Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。
该工具作为一个客户端-服务器程序,包括三个组件:
- 客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
- 后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
- 服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。
官方对adb的全部说明:https://developer.android.com/studio/command-line/adb
命令:
adb devices:获取连接设备列表
adb push/pull:
adb forward:类似于端口重定向
adb start-server/kill-server 启动和杀死adb服务
adb install/uninstall 安装和卸载
adb shell: 进入手机l命令行终端
通过adb shell获取应用包名列表的两种方法:
1.执行:pm list packages
2.进入目录:cd /data/data
用adb分析系统和应用内存使用情况
Android4.4推出了系统级服务:propstats(官方文档) 通过新的 procstats 工具,您可以检查应用和服务在一段时间内的内存使用率。而通过adb可获取propstats的数据
并格式化显示到终端
adb shell dumpsys procstats,关于详细的对该命令的使用和参数意义,可参考这篇Android Blog:Process Stats: Understanding How Your App Uses RAM
通过adb录制屏幕
此为从API 19支持的一项功能,面向开发和测试人员。用于方便地通过命令录制屏幕视频,可指定录制市场,存储路径,分辨率和码率等参数。由于是录制屏幕,所以不会把声音也录下来。默认时长为3分钟。可按Ctrl+C停止录制。保存为MPEG-4文件
示例:adb shell screenrecord --time-limit 10 --bit-rate 6000000 --size 1280*720 /sdcard/xxx.mp4
限制:
- 某些设备可能无法以它们的原生显示分辨率进行录制。如果在录制屏幕时出现问题,请尝试使用较低的屏幕分辨率。
- 不支持在录制时旋转屏幕。如果在录制期间屏幕旋转了,则部分屏幕的录制将被切断。
screenrecord选项