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 <包名>
相关推荐
小呆爱发呆2 天前
第三章 MySQL 库表操作
数据库·mysql·adb
Starry-sky(jing)4 天前
Vidda ADB 开启:R Pro 65 找不到开发者选项的处理与连接验收
android·adb·远程控制·电视·vidda
韩曙亮4 天前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
科小怪8 天前
ADB工具下载安装与常用命令:一条数据线连上电脑,就能给手机装应用、传文件、查日志
adb·智能手机·电脑
张小姐的猫9 天前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
lqbzlll12 天前
MySQL 慢查询日志开了但看不懂?从 slow_query_log 到 EXPLAIN ANALYZE 一步步定位
数据库·mysql·adb
风翼靓崽12 天前
centos7以mysql为例自建yum源
数据库·mysql·adb
2401_8818283213 天前
MySQL操作命令
android·mysql·adb
灵晔君14 天前
【MySQL】数据库基础
数据库·mysql·adb
在多学一点14 天前
MySQL_DDL的基本命令
数据库·mysql·adb