adb‑shell 全套命令实操总结

adb‑shell 全套命令实操总结

区分两类:

  1. shell 内置命令 :cd,依赖同一个 shell 会话,不适合单独 adb shell cd xxx
  2. 独立可执行程序 :ls、pwd、rm、chmod、su、pm、dumpsys、cat,支持单次 adb shell 命令
命令 全称 作用
cd change directory 切换进入某个文件夹
pwd print working directory 打印当前所在目录
ls list 列出文件夹里面的文件
rm remove 删除文件 / 文件夹
pm package manager 安卓应用包管理
chmod change mode 修改文件权限
dumpsys dump system service 打印系统服务运行状态
cat concatenate 输出打印文本文件内容
su switch user 切换 root 超级管理员

记忆口诀

cd 走,pwd 查,ls 看列表; su 提权,rm 删,cat 读,chmod 改门禁; pm 管应用,dumpsys 查系统。

命令 作用 是否适合 adb shell 单次执行
cd 切换目录 ❌不适合
pwd 打印当前路径 ✅可以
ls 列出目录 ✅可以
rm 删除文件目录 ✅可以
chmod 修改权限 ✅可以(root 操作加 su‑c)
su 切换 root ✅交互用居多
pm 应用包管理 ✅可以
dumpsys 打印系统服务 ✅可以
cat 读取文本文件 ✅可以

小故事版本

  • cd 走进文件夹,
  • pwd 我在哪?
  • ls 看看都有啥;
  • su 拿到管理员权限,
  • rm 扔掉不要它,
  • cat 打开读内容,
  • chmod 设置门禁卡;
  • pm 管理安装包,
  • dumpsys 系统台账全扒下。

一、 cd (change directory) 切换目录

1、使用:

⚠️不要用 adb shell cd /xxx,进程结束状态丢失。✅正确:进入交互式 shell

cmd

bash 复制代码
adb shell
cd /data/local/tmp     #进入tmp目录
cd ..                  #退回上一级
cd /                   #回到根目录
2、介绍:

cd = change directory ,切换目录(改变当前所在文件夹),是 Linux / Android shell 的内置命令。

只改 shell 内部的「当前工作目录」,不会读写文件,没有打印输出,成功就安静无提示。

常用用法

sh

bash 复制代码
# 进入 /data/local/tmp 这个文件夹
cd /data/local/tmp

# 返回上一级文件夹
cd ..

# 回到根目录
cd /

# 回到自己的家目录(adb shell 默认目录)
cd
搭配 pwd 看当前在哪

pwd → print working directory,打印你现在所处路径

sh

bash 复制代码
cd /data/local/tmp
pwd
#输出:/data/local/tmp
关键点(adb 里最容易踩坑)
  1. cd 只是改当前 shell 进程内部状态,不是修改磁盘文件。
  2. 如果你用:

cmd

bash 复制代码
adb shell cd /data/local/tmp

adb 创建一个临时进程 → cd 切换目录 → 进程直接销毁。

目录状态跟着进程消失,下一次 adb shell ls 不会留在这个目录。

👉所以:cd 一定要在交互式 shell 里面用

cmd

bash 复制代码
adb shell       #进入长存活shell会话
cd /data/local/tmp
pwd
ls

整个会话里面目录会记住,直到 exit 退出。

通俗比喻

把 shell 想象成一个窗口,cd就是窗口 "打开哪个文件夹"。

  • 临时窗口(adb shell cd xxx):打开文件夹立刻把窗口关掉,下次又是全新窗口。
  • 交互 shell(adb shell):窗口一直开着,cd 之后就停留在这个文件夹,后续操作都在这里。

记住:✅ ls、rm、pm、dumpsys 是独立程序,可以 adb shell 直接跑;⚠️ cd、export(环境变量)属于 shell 内部状态,依赖会话存活。

二、ls (list) 列出目录文件

1、使用:

cmd

bash 复制代码
# 单次执行,直接给完整路径
adb shell ls /data/local/tmp
adb shell ls -l /system/priv-app          #详细权限列表
adb shell ls -la /data/local/tmp          #包含隐藏文件
2、介绍:

ls = list,列出文件夹里面的文件 / 子目录,Linux/Android 的查看目录命令。

基础用法

sh

bash 复制代码
# 列出【当前文件夹】下所有内容
ls

# 指定路径,直接列出某个目录
ls /data/local/tmp
ls /system/priv-app
常用参数(加空格跟在 ls 后面)

sh

bash 复制代码
ls -l       # 详细列表:权限、所有者、大小、时间、文件名
ls -a       # 显示隐藏文件(以 . 开头的文件)
ls -la      # -l + -a 组合,最常用

注意: - 后面是参数(选项),l = long 长格式,a = all 全部文件 注意: ls -l (小写 L,不是数字 1)

命令 效果
ls 只显示文件名,简洁,看不到隐藏文件
ls -l 详细权限 / 时间,看不到隐藏文件
ls -a 显示所有(含隐藏),信息简短
ls -la⭐ 详细信息 + 全部隐藏文件,工作最常用

三、 pwd (print working directory) 打印当前路径

1、使用:

cmd

bash 复制代码
adb shell
cd /data/local/tmp
pwd
# 单次串联
adb shell "cd /data/local/tmp && pwd"

2、介绍:

pwd = print working directory打印当前所在的文件夹路径。

简单大白话:告诉我,我现在身处哪个目录下面。

示例(交互式 shell 里面)

sh

bash 复制代码
adb shell
cd /data/local/tmp
pwd
#输出:/data/local/tmp

cd /system/priv-app
pwd
#输出:/system/priv-app
也可以单次 adb shell 执行

cmd

arduino 复制代码
adb shell "cd /data/local/tmp && pwd"

输出:/data/local/tmp

四、 rm (remove) 删除文件 / 文件夹

1、使用:

⚠️无回收站,谨慎操作

cmd

bash 复制代码
# 删除文件
adb shell rm /data/local/tmp/test.apk
# 删除文件夹,‑r递归,‑f强制
adb shell su -c "rm -rf /system/priv-app/TestApp"
2、介绍:

rm = remove,删除文件或者文件夹,Linux/Android 的删除命令。

⚠️高危命令,删除没有回收站,删完直接消失。

常用写法

sh

bash 复制代码
# 删除单个文件
rm test.apk

# 删除文件夹(必须加 -r)
rm -r myfolder

adb 两种使用方式

✅方式 1:单次直接执行(带完整路径,推荐)

cmd

bash 复制代码
adb shell rm /data/local/tmp/signed-car.apk

✅方式 2:进入交互式 shell

cmd

bash 复制代码
adb shell
cd /data/local/tmp
rm signed-car.apk

常用参数

  • -r:递归,删除文件夹以及文件夹里面全部内容
  • -f:强制删除,不弹出确认提示,不存在也不报错

车载调试最常用组合:rm -rf

sh

bash 复制代码
rm -rf /system/priv-app/VolvoAdapterService

删掉整个 VolvoAdapterService 目录,需要 root 权限,先 su

五、 chmod (change mode) 修改文件权限

1、使用:

system 下推送 apk 后必须修复权限,标准 755

cmd

bash 复制代码
adb shell su -c "chmod 755 /system/priv-app/TestApp/TestApp.apk"
# -R 递归修改整个目录
adb shell su -c "chmod -R 755 /system/priv-app/TestApp"
2、介绍:

chmod = change mode 修改文件 / 文件夹的权限,Linux / Android 命令。

Android 每个文件都有三套权限:所有者、用户组、其他用户(别的进程)能不能读、写、执行。

车载系统里面,system 下 apk 缺少执行权限,会直接装不上、不启动,就要用 chmod。

最常用数字权限(八进制)

  • 644:普通文件,读读写,不能执行(txt、配置文件)
  • 755:apk、二进制、文件夹标准权限,可读可执行,这是 system 下 app 最常见权限。

sh

bash 复制代码
# 设置文件权限755
chmod 755 /data/local/tmp/test.apk

# 修改整个文件夹里面所有文件权限(‑R 递归)
chmod -R 755 /system/priv-app/VolvoAdapterService

修改 /system 目录需要 su root 权限。

参数

  • -R 递归:文件夹 + 内部全部文件一起改权限

adb 两种写法

✅单次执行

cmd

arduino 复制代码
adb shell su -c "chmod -R 755 /system/priv-app/VolvoAdapterService"

✅交互式 shell

sh

bash 复制代码
adb shell
su
chmod -R 755 /system/priv-app/VolvoAdapterService

六、su (switch user) 获取 root 权限

1、使用:

只有工程 debug 固件可用;量产车机报 Permission denied

cmd

bash 复制代码
# 交互模式获取root,提示符$ → #
adb shell
su

# 单条命令以root执行
adb shell su -c "mount -o rw,remount /system"

七、 pm (package manager) 应用包管理

1、使用:

cmd

bash 复制代码
adb shell pm list packages                #列出全部应用包名
adb shell pm list packages -3             #只看第三方应用
adb shell pm install /data/local/tmp/a.apk
adb shell pm uninstall com.xxx.test
adb shell pm disable-user com.xxx.system  #冻结系统应用
adb shell pm enable com.xxx.system
2、介绍:

pm = Package Manager ,安卓的包管理工具,是 Android 系统自带程序,用来操作应用 APK。

位置:/system/bin/pm

常用 adb shell pm 命令(你车载调试天天用)

cmd

bash 复制代码
# 列出手机/车机上所有安装的app包名
adb shell pm list packages

# 只看第三方应用,排除系统app
adb shell pm list packages -3

# 安装apk
adb shell pm install /data/local/tmp/xxx.apk

# 卸载app(普通应用)
adb shell pm uninstall shturl.cc/B

# 禁用应用(系统app不能卸载,就disable冻结)
adb shell pm disable-user com.volvocars.datacenter.china

# 启用被禁用的应用
adb shell pm enable com.volvocars.datacenter.china

关键点

  1. pm 是独立可执行程序,可以直接单次 adb shell 调用,不像 cd 依赖 shell 会话状态。

cmd

复制代码
adb shell pm list packages    ✅完全没问题

也可以进交互式 shell 里面敲:

sh

复制代码
adb shell
pm list packages

两种效果一样。

  1. 系统预装 app 很多不能uninstall,会提示 not installed for 0,要用 disable‑user 禁用。

高频参数记忆

  • --user 0:操作主用户(车机一般就 user 0)
  • -r:安装时保留数据,覆盖安装
  • -g:自动授予全部运行时权限
  • -t:允许安装测试包

示例完整安装:

cmd

arduino 复制代码
adb shell pm install --user 0 -r -g -t /data/local/tmp/signed‑car.apk

八、 dumpsys 打印系统服务状态

1、使用:

cmd

perl 复制代码
adb shell dumpsys activity                     #activity任务栈
adb shell dumpsys package com.volvocars.xxx    #应用运行时信息
adb shell dumpsys power                        #电源休眠状态
adb shell dumpsys window                       #窗口弹窗
#导出到电脑文件方便搜索
adb shell dumpsys package com.xxx > dump.txt
2、介绍:

dumpsys = dump system service 把 Android 系统服务的运行状态、信息打印输出出来,安卓调试神器。

Android 内部有一大堆系统服务:Activity、Package、NFC、Window、Power、Connectivity......dumpsys 就是去读取这些正在运行服务的内存状态,输出大量文本日志。

常用格式

cmd

复制代码
adb shell dumpsys 服务名

你工作高频用到的

cmd

perl 复制代码
# 查看Activity栈、页面任务栈
adb shell dumpsys activity

# 查看已安装包信息、应用权限
adb shell dumpsys package com.volvocars.datacenter.china

# 查看nfc服务状态(你之前查车机NFC)
adb shell dumpsys nfc

# 电源、休眠状态
adb shell dumpsys power

# 窗口、弹窗信息
adb shell dumpsys window

# 所有服务全部打印(输出超级巨大,不推荐)
adb shell dumpsys
两种使用方式

✅单次 adb shell 直接跑(最常用)

cmd

复制代码
adb shell dumpsys activity

✅进入交互式 shell 再执行

sh

复制代码
adb shell
dumpsys activity

dumpsys 是独立程序,不需要 cd 切换目录,不需要 root(大部分) 。

小技巧:Windows 把输出保存到文件,方便搜索日志

cmd

lua 复制代码
adb shell dumpsys package com.xxx > dump.txt

执行后,当前 cmd 文件夹生成 dump.txt,可以用记事本打开搜索关键字。

九、cat (concatenate) 查看文本文件内容

1、使用:

cmd

bash 复制代码
adb shell cat /data/local/tmp/config.txt
adb shell su -c "cat /sys/class/power_supply/battery/capacity"
2、介绍:

cat = concatenate读取文件内容,把文件全部内容输出打印到控制台。

大白话:直接查看文本文件内容。

基础用法

sh

bash 复制代码
# 打印文件内容
cat /data/local/tmp/config.txt

adb 两种写法

✅单次直接执行

cmd

bash 复制代码
adb shell cat /data/local/tmp/config.txt

✅交互式 shell

sh

bash 复制代码
adb shell
cat /data/local/tmp/config.txt
相关推荐
Cici_ovo15 小时前
手机数据删除原理、运行内存、闪存、机械硬盘完整原理详解
android·智能手机
hi_LeTian15 小时前
【Linphone】Ubuntu20.04 编译 Linphone5.2 Android SDK 适配RK3326硬解码完整教程(避坑版)
android
SoStraw15 小时前
跨平台P2P通信SDK,Windows/Android/iOS/Linux/macOS一套API全兼容
android·linux·windows·跨平台·p2p·webrpc
李游Leo15 小时前
《HarmonyOS 7 ArkGraphics 3D 空间设计开发实战》07:复杂3D场景的帧率、内存与资源性能优化【鸿蒙心迹】
android·3d·性能优化·harmonyos
天神哥哥啊15 小时前
unity联调注意事项-安卓
android·unity·游戏引擎
机核研创社15 小时前
polo 长袖短裤套装自动化产线:八台机器排队接力
android·java·自动化
JosieBook15 小时前
【数据库】MySQL 实战精通系列 · 第2篇:数据建模与建表实战
android·数据库·mysql
Martin -Tang16 小时前
uniapp app嵌套webview 弹窗方式
android·ios·uni-app
蒸鱼Yuzheng1 天前
设备端性能工件可靠导出:断点续传、哈希、manifest 与失败恢复
android·自动化测试·python·adb·数据完整性
美狐美颜sdk1 天前
直播APP接入美颜SDK后出现卡顿怎么办?从性能瓶颈寻找解决方案
android·人工智能·音视频·美颜sdk·直播美颜sdk