Android adb,adb命令
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android adb,adb命令相关的知识,希望对你有一定的参考价值。
文章目录
简介
adb :android Debug Bridge (Android调试桥)
Android sdk 中提供的用于管理模拟器或真机状态的工具
命令行工具
组成
采用客户端-服务端(C/S)模型,
- 客户端 client:用于发送命令。客户端在开发计算机上运行。通过发出 adb 命令从命令行终端调用客户端
- 服务端 server:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行
- 守护进程 adbd:用于在设备上运行命令。守护程序在每个设备上作为后台进程运行
工作原理
客户端 - - 服务端
启动adb客户端,随即检查是否有服务器进程正在运行,若无则开启服务器进程,服务器与本地端口 5037绑定,监听客户端发出的adb命令。
服务端 - - 设备
服务器通过扫描 5555 到 5585 之间的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。
启动adb调试
1.模拟器:无需手动设置
2.真机
- 通过 USB 连接设备与电脑
- 安装 Android 手机驱动
- 设备启用 usb 调试(开发者模式)
adb 常用命令
命令格式
adb [-d | -e | -s <serialNumber>] <command>
(<>:必填,[]:可选)
表达式 | 说明 |
---|---|
-d | 指定当前唯一通过USB连接欸对Android设备为命令目标 |
-e | 指定当前唯一运行的模拟器为命令目标 |
-s | 指定相应 serialNumber 号的设备/模拟器为命令目标 |
查看设备
adb connect 127.0.0.1:xxxx (xxxx为模拟器的端口号):连接模拟器
adb devices:列出已连接设备
安装 / 卸载应用
普通安装:adb install <apk路径>
覆盖安装:adb install -r <apk路径>
完全卸载:adb uninstall <包名>
保留配置文件:adb uninstall -k <包名>
电脑与设备 文件传输
电脑 上传到 -> 设备:adb push <电脑路径> <设备路径>
设备 复制到 -> 电脑:adb pull <设备路径> <电脑路径>
adb shell 命令
登录设备shell(相当于远程登录Android系统,可执行Linux命令)
两种方式
- 直接发出adb shell 命令:adb [-s serial_number] shell command
- 交互式shell
- adb [-s serial_number] shell
- 输入命令
- 退出shell:exit 或者 Ctrl + D
截图 / 录屏
截图:adb shell screencap <设备路径>
录屏:adb shell screenrecord <设备路径>
调用 Activity 管理器 (am)
am 工具发出命令来执行
启动应用:adb shell am start -n <包名> / <Activity名>
强制停止应用:adb shell am force-stop <包名>
调用软件包管理器 (pm)
显示所有应用:adb shell pm list packages
只显示系统应用:adb shell pm list packages -s
只显示第三方应用:adb shell pm list packages -3
列出所有测试软件包:adb shell pm list instrumentation
删除与软件包关联的所有数据:adb shell pm clear <包名>
系统服务的诊断输出(dumpsys)
获取前台包名:adb shell dumpsys activity | grep mFocusedActivity
检查输入诊断:adb shell dumpsys input
测试界面性能:adb shell dumpsys gfxinfo <包名>
检查电池诊断:adb shell dumpsys batterystats --charged <包名>
查看 CPU 信息:adb shell dumpsys cpuinfo
查看内存信息:adb shell dumpsys meminfo
获取内存占用情况统计信息:adb shell dumpsys procstats --hours 3
log日志 (logcat)
屏幕输出日志:adb logcat
通过标签过滤:adb logcat -s 标签
显示时间:adb logcat -v time
输出所有信息:adb logcat -v long
输出日志到文件:adb logcat -v time > log.txt
清除旧日志信息:adb logcat -c
UI布局信息(uiautomator)
当前窗口的UI布局简化信息:adb shell uiautomator dump --compressed
指定输出文件:adb shell uiautomator dump file <设备路径>
参考链接:
https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn/
以上是关于Android adb,adb命令的主要内容,如果未能解决你的问题,请参考以下文章