软件运维 --- adb shell 命令
分类与注解
1. 应用管理 (Application Management)
主要用于安装、卸载、控制应用以及查询应用信息。
| 命令 | 注解 |
|---|---|
adb shell am force-stop <package> |
强制停止指定包名的应用,终止其所有进程。 |
adb shell am kill <package> |
杀死指定包名的应用后台进程,但可能不会像force-stop那样彻底。 |
adb shell am kill-all |
杀死所有后台进程。 |
adb shell pm clear <package> |
清除指定应用的所有数据和缓存。 |
adb shell pm clear --cache-only <package> |
仅清除指定应用的缓存,不清除用户数据。 |
adb shell pm clear --user <user_id> <package> |
为指定用户清除应用的数据和缓存。 |
adb shell pm disable <package/component> |
禁用一个应用或组件(如Activity),系统应用常用。 |
adb shell pm disable-user --user <user_id> <package> |
为指定用户禁用应用。 |
adb shell pm disable-user <package> |
为当前用户禁用应用。 |
adb shell pm dump <package> |
转储指定应用的详细状态信息。 |
adb shell pm enable <package/component> |
启用一个被禁用的应用或组件。 |
adb shell pm grant <package> <permission> |
授予某个应用一项权限。 |
adb shell pm hide <package> |
隐藏一个应用(主要用于设备策略控制器)。 |
adb shell pm install <apk_path> |
安装一个APK文件。 |
adb shell pm install --abi <apk_path> |
指定安装APK的ABI(应用二进制接口)。 |
adb shell pm install --dont-kill <apk_path> |
安装时不终止正在运行的应用(用于增量安装)。 |
adb shell pm install --full <apk_path> |
执行完整安装,即使应用已存在。 |
adb shell pm install --user <user_id> <apk_path> |
为指定用户安装应用。 |
adb shell pm install -d <apk_path> |
允许安装版本降级的APK。 |
adb shell pm install -g <apk_path> |
安装时授予所有运行时权限。 |
adb shell pm install -t <apk_path> |
允许安装测试APK。 |
adb shell pm install-abandon <session_id> |
放弃一个多包安装会话。 |
adb shell pm install-commit <session_id> |
提交一个多包安装会话。 |
adb shell pm install-create |
创建一个新的多包安装会话,返回会话ID。 |
adb shell pm install-existing <package> |
为当前用户安装一个已存在但未安装的软件包。 |
adb shell pm install-remove <session_id> <split_name> |
从安装会话中移除一个APK拆分包。 |
adb shell pm install-write <size> <session_id> <split_name> <split_path> |
将APK拆分包写入安装会话。 |
adb shell pm list packages |
列出设备上所有已安装的包名。 |
adb shell pm list packages -3 |
只列出第三方应用。 |
adb shell pm list packages -a |
列出所有应用,包括系统和非系统。 |
adb shell pm list packages -d |
只列出被禁用的应用。 |
adb shell pm list packages -e |
只列出被启用的应用。 |
adb shell pm list packages -f |
列出包名及其关联的APK文件路径。 |
adb shell pm list packages -i |
列出包名及其安装程序。 |
adb shell pm list packages -s |
只列出系统应用。 |
adb shell pm list packages -u |
列出包名,包括已卸载但仍有数据的应用。 |
adb shell pm list packages --show-versioncode |
列出包名并显示版本代码。 |
adb shell pm path <package> |
显示指定应用APK文件的完整路径。 |
adb shell pm revoke <package> <permission> |
撤销已授予某个应用的权限。 |
adb shell pm suspend <package> |
挂起(暂停)指定应用,使其不可用但未卸载。 |
adb shell pm unhide <package> |
取消隐藏一个应用。 |
adb shell pm uninstall <package> |
卸载一个应用。 |
adb shell pm uninstall --user <user_id> <package> |
为指定用户卸载应用。 |
adb shell pm uninstall -k <package> |
卸载应用但保留数据和缓存。 |
adb shell pm uninstall-system-updates <package> |
卸载系统应用的更新,还原到出厂版本。 |
adb shell pm unsuspend <package> |
取消挂起(恢复)一个被挂起的应用。 |
2. 系统信息与调试 (System Info & Debugging)
用于获取设备状态、系统信息、调试服务等。
| 命令 | 注解 |
|---|---|
adb shell dumpsys activity |
转储Activity管理器的详细信息(任务、栈、活动等)。 |
adb shell dumpsys battery |
显示电池状态信息(电量、状态、健康度等)。 |
adb shell dumpsys battery set level <n> |
模拟设置电池电量百分比(需要root)。 |
adb shell dumpsys battery set status <n> |
模拟设置电池状态(如2为充电,需要root)。 |
adb shell dumpsys display |
转储显示系统的相关信息。 |
adb shell getenforce |
显示当前SELinux执行模式(Enforcing或Permissive)。 |
adb shell service list |
列出系统所有的服务。 |
adb shell top |
动态显示CPU占用率最高的进程。 |
adb shell top -n <number> |
刷新指定次数后退出top命令。 |
adb shell dmesg |
显示内核环缓冲区消息,用于诊断内核启动和驱动问题。 |
adb shell netstat |
显示网络连接、路由表、接口统计等信息。 |
adb shell ps |
显示当前正在运行的进程快照。 |
adb shell whoami |
显示当前shell的用户名。 |
3. 文件操作 (File Operations)
用于浏览、操作设备上的文件。
| 命令 | 注解 |
|---|---|
adb shell cat <file_path> |
连接文件并打印到标准输出(查看文件内容)。 |
adb shell cd - |
切换到上一个工作目录。 |
adb shell cd .. |
切换到上级目录。 |
adb shell cd / |
切换到根目录。 |
adb shell cd <directory_path> |
切换到指定目录。 |
adb shell cd ~ |
切换到当前用户的家目录。 |
adb shell cp <source> <dest> |
复制文件。 |
adb shell cp -r <source> <dest> |
递归复制目录及其内容。 |
adb shell ls |
列出当前目录下的文件和目录。 |
adb shell ls -R |
递归列出所有子目录的内容。 |
adb shell ls -s |
列出文件及大小(以块为单位)。 |
adb shell mkdir <dir_path> |
创建一个新目录。 |
adb shell mv <from> <to> |
移动或重命名文件/目录。 |
adb shell rm <file_path> |
删除文件。 |
adb shell rm -r <file_path> |
递归删除目录及其所有内容(慎用)。 |
adb shell file <file_path> |
检测文件类型。 |
adb shell pwd |
打印当前工作目录的路径。 |
4. 日志 (Logging)
用于查看和管理系统日志。
| 命令 | 注解 |
|---|---|
adb shell logcat |
打印系统日志。 |
adb shell logcat -c |
清除(clear)整个日志缓冲区。 |
adb shell logcat -g |
打印日志缓冲区的大小。 |
adb shell logcat -G <size> |
设置日志缓冲区的大小(如16M)。 |
5. 设备控制 (Device Control)
用于控制设备状态,如重启、电源模式等。
| 命令 | 注解 |
|---|---|
adb shell reboot |
重启设备到系统。 |
adb shell reboot -p |
关机(power off)。 |
adb shell reboot bootloader |
重启到Bootloader模式( fastboot模式)。 |
adb shell reboot recovery |
重启到Recovery模式。 |
adb shell reboot fastboot |
重启到 Fastboot 模式 (此命令可能在某些设备上无效,reboot bootloader 更通用)。 |
6. 窗口管理 (Window Management)
用于管理屏幕显示属性。
| 命令 | 注解 |
|---|---|
adb shell wm density |
显示当前屏幕的密度(DPI)。 |
adb shell wm density reset |
重置屏幕密度为默认值。 |
adb shell wm size |
显示当前屏幕的物理分辨率。 |
adb shell wm size reset |
重置屏幕分辨率为默认值。 |
adb shell cmd uimode night no |
强制关闭夜间模式。 |
adb shell cmd uimode night yes |
强制开启夜间模式。 |
7. 其他实用命令 (Other Utilities)
杂项命令,用于文本处理、网络测试等。
| 命令 | 注解 |
|---|---|
adb shell clear |
清空终端屏幕。 |
adb shell date |
显示或设置系统日期和时间。 |
adb shell df -h /system |
以可读格式显示/system分区的磁盘空间使用情况。 |
adb shell du -h |
以可读格式显示当前目录的磁盘使用情况。 |
adb shell du -sh /system/* |
汇总显示/system目录下各子项的大小。 |
adb shell echo <message> |
回显一段文本。 |
adb shell exit |
退出当前shell会话。 |
adb shell grep <pattern> |
搜索文本中匹配指定模式的行。 |
adb shell iptables -L |
列出所有防火墙规则。 |
adb shell kill <pid> |
根据进程ID向进程发送信号以终止它。 |
adb shell ping <host> |
测试到网络主机的连通性。 |
adb shell sleep <second> |
延迟(睡眠)指定的秒数。 |
adb shell sync |
将内存中缓存的数据同步到磁盘(刷写缓冲区)。 |
adb shell update |
(此命令通常不存在或不是标准命令,可能用于某些定制系统进行更新) |
浙公网安备 33010602011771号