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 <包名>
相关推荐
t1987512817 小时前
解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题
数据库·mysql·adb
yinhunzw17 小时前
adb reboot 与 adb shell svc power reboot 的区别
adb
thginWalker3 天前
MySQL图解索引篇
android·mysql·adb
qq_312920113 天前
MySQL在Linux环境下的性能调优
linux·mysql·adb
猿小蔡-Cool4 天前
Android ADB命令之内存统计与分析
android·adb
杨航 AI4 天前
ADB+Python控制(有线/无线) Scrcpy+按键映射(推荐)
开发语言·python·adb
就叫飞六吧4 天前
mysql全量备份、全量恢复demo
android·mysql·adb
什么半岛铁盒4 天前
MySQL的常用数据类型详解
linux·数据库·mysql·adb
战斗中的老段5 天前
adb 下载并安装
adb
fengye2071615 天前
板凳-------Mysql cookbook学习 (十二--------6)
学习·mysql·adb