adb 简介与常用命令

1. adb 简介

adb 的全称为 Android Debug Bridge,就是起到调试桥的作用。

借助 adb 工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行 shell 命令等等。其实简而言说,adb 就是连接 Android 手机与 PC 端的桥梁,可以让用户在电脑上对手机进行全面的操作。

通过 adb 我们也可以在 Eclipse 中方面通过 DDMS 来调试 Android 程序(即 debug 工具)。

adb 的工作方式比较特殊,采用监听 Socket TCP 5554 等端口的方式让 IDE 和 Qemu 通讯,默认情况下 adb 会 daemon 相关的网络端口,所以当我们运行 Eclipse 时 adb 进程就会自动运行。

2. adb 常用命令

查看设备

复制代码
adb devices

这个命令是查看当前连接的设备, 连接到计算机的 android 设备或者模拟器将会列出显示。

查看手机系统版本

复制代码
adb shell getprop ro.build.version.release

安装软件

复制代码
adb install <apk文件路径>

这个命令将指定的apk文件安装到设备上

卸载软件

复制代码
adb uninstall <软件名>
adb uninstall -k <软件名>

-k 参数表示卸载软件但是保留配置和缓存文件.

进入设备或模拟器的 shell

复制代码
adb shell  # 进入 shell 中,执行各种 shell 命令
adb shell [command]  # 执行一条 shell 命令

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个 Linux Shell 中,你可以执行各种 Linux 的命令。另外

如果只想执行一条 shell 命令,可以采用以下的方式,如:adb shell dmesg 会打印出内核的调试信息。

发布端口

可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

复制代码
adb forward tcp:5555 tcp:8000

从电脑上发送文件到设备

复制代码
adb push <本地路径> <远程路径>

用 push 命令可以把本机电脑上的文件或者文件夹复制到设备(手机)。

从设备上下载文件到电脑

复制代码
adb pull <远程路径> <本地路径>

用 pull 命令可以把设备(手机)上的文件或者文件夹复制到本机电脑。

查看设备的 Log 日志

常用格式如下:

复制代码
// 格式1:打印默认日志数据
adb logcat 

// 格式2:需要打印日志详细时间的简单数据
adb logcat -v time

// 格式3:需要打印级别为Error的信息
adb logcat *:E

// 格式4:需要打印时间和级别是Error的信息
adb logcat -v time *:E

// 格式5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time > D:\log.txt

查看 bug 报告

复制代码
adb bugreport

记录无线通讯日志

一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

复制代码
adb shell
logcat -b radio

获取设备的 ID 和序列号

复制代码
adb get-product
adb get-serialno

adb 服务器杀死和启动

复制代码
adb kill-server
adb start-server

装包、卸载包

复制代码
adb -s deviceid install <apk在PC端的路径>
adb shell pm install <apk在移动端的路径>
adb uninstall <包名>

与 Activity 操作等相关

1)获取当前启动 app 的包名:

复制代码
adb shell dumpsys window w |findstr \/ |findstr name=

2)通过获取到的包名获取到启动 app 的 activity:

复制代码
adb shell monkey -p 包名 -vvv 1

与进程相关

列出当前进程:

复制代码
adb shell ps | findstr <包名>

杀死某个包的进程:

复制代码
adb shell am force-stop <包名>

性能相关

获取内存:

复制代码
adb shell dumpsys meminfo <包名>

获取 CPU:

复制代码
adb shell dumpsys cpuinfo | findstr <包名>
adb shell top -n 1 | findstr <包名>

获取流畅度相关:

复制代码
adb shell dumpsys gfxinfo <包名>
相关推荐
渣渣盟1 天前
掌握MySQL函数:高效数据处理指南
sql·mysql·adb·dba
SH11HF5 天前
小菜狗的云计算之旅,今天学习MySQL数据库基础知识及操作
adb
@Ryan Ding5 天前
MySQL主从复制与读写分离概述
android·mysql·adb
feifeigo1235 天前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb
Edingbrugh.南空5 天前
Flink MySQL CDC 环境配置与验证
mysql·adb·flink
陈卓4106 天前
MySQL-主从复制&分库分表
android·mysql·adb
ladymorgana6 天前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
好奇的菜鸟7 天前
如何在Ubuntu上检查MySQL是否启动并放开3306端口
mysql·ubuntu·adb
OneT1me7 天前
adb shell中执行system用户权限命令的方法
adb