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命令的主要内容,如果未能解决你的问题,请参考以下文章

怎么在Android Studio中执行adb命令

Android 常用adb命令

Android: adb 命令查日志

android如何通过adb命令获取手机的IMEI

如何在android应用里执行adb 命令

Android 开发常用的adb命令