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.duapp

package:/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/Android
  File: /sdcard/Android
  Size: 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
相关推荐
工程师老罗4 小时前
如何在Android工程中配置NDK版本
android
Libraeking7 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
市场部需要一个软件开发岗位7 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
JMchen1239 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs10 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob10 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔10 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei99610 小时前
flutter和Android动画的对比
android·flutter·动画
lxysbly12 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首13 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节