adb 实用命令汇总
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/
基础adb命令
# 重启adb
adb kill-server# 查看已连接的设备
adb devices# 进入命令行
adb shell# 使用 -s 参数来指定设备
adb -s <设备序列号> shell# 显示日志
adb logcat
获取 API Level
进入 adb shell ,执行下面命令获取当前 Android 系统的 API Level(即 SDK 版本):
getprop ro.build.version.sdk
以下是 Android 版本与 API Level 的对应表(截至 Android 15):
Android 版本 | API Level | 代号 | 发布时间 |
---|---|---|---|
Android 15 | 35 | Vanilla Ice Cream | 2024年9月 |
Android 14 | 34 | Upside Down Cake | 2023年10月 |
Android 13 | 33 | Tiramisu | 2022年8月 |
Android 12L | 32 | 2022年3月 | |
Android 12 | 31 | Snow Cone | 2021年10月 |
Android 11 | 30 | Red Velvet Cake | 2020年9月 |
Android 10 | 29 | Q | 2019年9月 |
Android 9 | 28 | Pie | 2018年8月 |
Android 8.1 | 27 | Oreo | 2017年12月 |
Android 8.0 | 26 | Oreo | 2017年8月 |
Android 7.1 | 25 | Nougat | 2016年10月 |
Android 7.0 | 24 | Nougat | 2016年8月 |
Android 6.0 | 23 | Marshmallow | 2015年10月 |
Android 5.1 | 22 | Lollipop | 2015年3月 |
Android 5.0 | 21 | Lollipop | 2014年11月 |
获取 apk 安装路径
获取指定包名的 APK 路径
adb shell pm path com.shizhuang.duapppackage:/data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ==/base.apk
将 APK 文件拉取到本地
adb pull /data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ==/base.apk
获取 Activity 信息
进入 adb shell
# 获取设备上当前运行的 Activity
dumpsys activity activities | grep "mResumedActivity"# 获取活动栈中的所有 Activity,并从中提取出最近的 5 个 Activity
dumpsys activity activities | grep "Hist #" | head -n 5
获取进程信息
# 显示当前系统中正在运行的进程信息、CPU、内存使用率等
top# 列出当前所有进程
ps -A# 列出名称包含 fs 的进程
ps -A | grep fs# 获取 1234 端口进程的 pid
lsof | grep 1234# 根据包名获取 pid
pidof com.shizhuang.duapp# 查看进程状态(如果 TracerPid>0 表示被调试状态,TracerPid 就是跟踪调试的 进程id)
cat /proc/pid/status
进程管理
# 停止指定进程
kill pid# 强制停止指定进程
kill -9 pid# 暂停进程
kill -19 pid# 继续进程
kill -18 pid
文件管理
# 拉取文件/目录到本地
adb pull /data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ== D:\temp# 使用cat命令查看文件的内容
cat filename.txt# 当目录不存在自动创建目录
mkdir -p /sdcard/dump_dex# 复制文件(目录必须存在)
cp /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex# 复制文件并自动创建目录
mkdir -p /sdcard/dump_dex && cp /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex/# 移动文件
mv /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex
查找文件/目录
查找 /data 路径下所有包含 com.cyrus.example 的文件或目录
find /data -iname '*com.cyrus.example*'
查看文件详细信息
通过 adb shell 进入命令行通过 ls -alh 查看当前路径下所有文件。
wayne:/sdcard # ls -alh
total 32M
drwxrwx--x 15 root sdcard_rw 3.4K 2024-09-23 17:52 .
drwx--x--x 3 root sdcard_rw 3.4K 2024-09-16 18:43 ..
-rw-rw---- 1 root sdcard_rw 88 2024-09-18 12:03 .thumbcache_idx_001
drwxrwx--x 2 root sdcard_rw 3.4K 2024-09-16 18:43 Alarms
drwxrwx--x 5 root sdcard_rw 3.4K 2024-09-18 00:25 Android
通过 stat 命令查看更加详细的文件信息,包括访问时间、修改时间、文件类型和 inode 号等。
wayne:/sdcard # stat /sdcard/AndroidFile: /sdcard/AndroidSize: 3488 Blocks: 7 IO Blocks: 512 directory
Device: 1ch/28d Inode: 2999 Links: 5
Access: (0771/drwxrwx--x) Uid: ( 0/ root) Gid: ( 1015/sdcard_rw)
Access: 2024-09-16 18:43:38.453334673 +0800
Modify: 2024-09-18 00:25:03.481711645 +0800
Change: 2024-09-18 00:25:03.481711645 +0800
通过 file 命令查看文件类型
wayne:/sdcard # file Magisk-v27.0.apk
Magisk-v27.0.apk: Zip archive data
head 用于查看文本文件的前几行内容,默认是前 10 行。
wayne:/sdcard # head /proc/cpuinfo
Processor : AArch64 Processor rev 4 (aarch64)
processor : 0
BogoMIPS : 38.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x51
CPU architecture: 8
CPU variant : 0xa
CPU part : 0x801
CPU revision : 4
-n <行数>:指定要显示的行数。
wayne:/sdcard # head -n 5 /system/build.prop# begin common build properties
# autogenerated by build/make/tools/buildinfo_common.sh
ro.system.build.date=Mon Sep 16 18:43:25 CST 2024
ro.system.build.date.utc=1726483405
编辑文件
编辑文件
vim a.log
如果文件不存在,vim 会创建一个新的。
打开后,你默认处于 “普通模式” ,此时按:
i
此时屏幕左下角会显示 – INSERT --,表示你现在可以开始输入内容。
按下 Esc 键即可退出插入模式,回到普通模式。
在普通模式下,输入以下命令退出 vim
:wq ↵ # 保存并退出
:q! ↵ # 不保存直接退出
其他常用命令:
操作 | 命令(普通模式) |
---|---|
插入(光标前) | i |
插入(新行) | o |
删除整行 | dd |
撤销 | u |
保存但不退出 | :w + Enter |
不保存强制退出 | :q! + Enter |
移动光标上下左右 | 使用方向键或 h j k l |
截图
# 截图
adb shell screencap /sdcard/screenshot.png
# 将截图从设备复制到电脑
adb pull /sdcard/screenshot.png
# 删除设备中的截图文件
adb shell rm /sdcard/screenshot.png