adb常用命令大全
设备管理基础
1. adb devices
作用:列出已连接的设备及其状态(device / unauthorized / offline)
注意:若显示 unauthorized,手机未授权;若 offline,设备未响应或驱动/线材问题。
2. adb kill-server / adb start-server
作用:停止 / 启动 adb 服务(常用于重启服务解决连接问题)
注意:在某些情况下需以 sudo 启动(不推荐),优先检查 udev/权限。
安装 / 卸载 / 列包
1. adb install <apk>
作用:在设备上安装 apk(默认新安装)
示例:

常用参数:
(1)-r:覆盖安装并保留数据(如更新)
(2)-d:允许降级安装(版本号更低)
(3)-g:授予所有运行时权限(安装时自动授予)
注意:若安装失败可查看 adb install -r -d path.apk 的输出或用 adb logcat 查错误。
2. adb uninstall <package>
作用:卸载指定包(只移除应用,不移除数据时可用 -k 保留数据)
示例:
adb uninstall com.example.app
adb uninstall -k com.example.app # 保留数据和缓存(少用)
3. adb shell pm list packages
作用:列出设备上已安装包名。
示例:
adb shell pm list packages | grep example
在不同环境下的等价写法
(1)Linux / macOS / WSL / Git Bash(直接可用)
adb shell pm list packages | grep example
(2)Windows CMD(使用 findstr)
adb shell pm list packages | findstr example
(3)PowerShell(推荐用 Select-String)
adb shell pm list packages | Select-String example
4. adb shell pm path <package>
作用:显示 APK 在设备中的路径(便于 pull)
示例:
adb shell pm path com.example.app
进入 Shell / 执行命令
1. adb shell
作用:打开设备的交互式 shell(类似 ssh)
示例:
adb shell
# 进入后可以执行: ls /sdcard/Download
一次性执行命令:
adb shell ls -la /sdcard/
adb shell getprop ro.build.version.release
注意:某些命令在非 root 设备会受限;adb shell 是以 shell 用户执行。
2. adb shell su -c "<cmd>"(需要 root)
作用:以 root 权限在设备上执行命令(设备需已 root)。
示例:
adb shell su -c "cat /data/system/packages.xml"
启动 / 停止 应用(am 命令)
1. adb shell am start -n <pkg>/<Activity>
作用:启动指定 Activity(常用于启动指定页面进行测试)。
示例:
adb shell am start -n com.example.app/.MainActivity
额外选项:
-a 指定 action,-d 指定 data/URI,-e 传递 extra。
2. adb shell am force-stop <package>
作用:强制停止应用。
示例:
adb shell am force-stop com.example.app
3. adb shell am broadcast -a <ACTION>
作用:发送广播(测试广播接收器)。
示例:
adb shell am broadcast -a com.example.app.TEST_ACTION
应用数据管理(pm)
1. adb shell pm clear <package>
作用:清除应用数据(等同“清除数据”)。
示例:
adb shell pm clear com.example.app
2. adb shell pm grant / revoke(运行时权限)
作用:给或收回指定应用的运行时权限(适用于 API 23+)。
示例:
adb shell pm grant com.example.app android.permission.CAMERA
adb shell pm revoke com.example.app android.permission.ACCESS_FINE_LOCATION
注意:应用必须声明权限,且某些权限需要系统签名。
文件传输(push / pull)
1. adb push <local> <remote>
作用:把文件从电脑复制到设备。
示例:
adb push ./local.apk /sdcard/local.apk
2. adb pull <remote> <local>
作用:把文件从设备复制回电脑。
示例:
adb pull /sdcard/screen.png ~/work/screen.png
截屏 / 录屏
1. adb exec-out screencap -p > screen.png
作用:截屏并直接保存到电脑(推荐,避免写入设备文件系统)。
示例(Linux/macOS):
adb exec-out screencap -p > ~/work/screen.png
Windows PowerShell 示例(需要注意重定向行为):
.\adb.exe exec-out screencap -p > C:\work\screen.png
2. adb shell screenrecord /sdcard/demo.mp4
作用:在设备上录屏(停止时保存),然后 pull 到电脑。
示例:
adb shell screenrecord /sdcard/demo.mp4
# 结束录制时按 Ctrl+C(或在另一个 shell 上杀进程),然后:
adb pull /sdcard/demo.mp4 ~/work/demo.mp4
注意:录制时长/分辨率可通过参数控制(参见 screenrecord --help)。
日志(logcat)
1. adb logcat
作用:打印系统与应用日志(实时)。
示例:
adb logcat
adb logcat -v time # 带时间戳
adb logcat ActivityManager:D MyApp:V *:S # 只看 ActivityManager 和 MyApp,其他静默
导出当前缓冲区:
adb logcat -d > all.log
实用技巧(按包名过滤):
# 先找到 PID,再过滤该 PID(更准确)
adb shell pidof com.example.app # 得到 PID
adb logcat | grep $(adb shell pidof com.example.app)
注意:在 Windows 下用 PowerShell 时 grep 改用 Select-String 或安装 GNU grep。
网络 / 端口转发 / 反向
1. adb forward tcp:<host_port> tcp:<device_port>
作用:把主机(电脑)端口转发到设备端口(电脑可访问设备服务)。
示例:
adb forward tcp:8100 tcp:8100
2. adb reverse tcp:<device_port> tcp:<host_port>
作用:把设备端口反向映射到主机端口(设备可访问主机服务,Android 7.0+ 支持)。
示例:
adb reverse tcp:3000 tcp:3000
3. adb tcpip <port> / adb connect(无线 adb)
作用:切换设备到 tcpip 模式并通过 IP 连接(传统方法)。
示例:
adb tcpip 5555
adb connect 192.168.1.100:5555
推荐现代方式:Wireless debugging pairing(Android 11+),用 adb pair ip:port 按提示输入配对码(设备显示)。具体命令:
adb pair 192.168.1.100:37123
adb connect 192.168.1.100:5555
权限 / key 管理(adbkey)
1. 删除本机 adb keys(重新触发授权)
作用:当设备一直显示 unauthorized 或授权出错时,删除本机 key 并重新连接会让手机弹出授权窗口重新确认。
Linux:
adb kill-server
rm -f ~/.android/adbkey*
adb start-server
adb devices
Windows(PowerShell):
.\adb.exe kill-server
del $env:USERPROFILE\.android\adbkey*
.\adb.exe start-server
.\adb.exe devices
调试 / 抓取系统信息 / Bugreport
1. adb bugreport [out.zip]
作用:导出完整系统调试包(崩溃、ANR 分析时非常有用)。
示例:
adb bugreport bugreport.zip
注意:不同 Android 版本输出格式不同(zip 或 txt),文件通常很大。
2. adb shell dumpsys <service>
作用:获取系统服务的详细状态(如 activity、battery、window 等)。
示例:
adb shell dumpsys activity activities
adb shell dumpsys battery
设备重启 / 进入 bootloader / recovery
1. adb reboot
作用:重启设备。
示例:
adb reboot
adb reboot bootloader # 进入 bootloader/fastboot 模式
adb reboot recovery # 进入 recovery
fastboot(bootloader 下)
1. fastboot devices
作用:列出处于 fastboot 模式的设备。
示例:
fastboot devices
2. fastboot oem unlock / fastboot flashing unlock
作用:解锁 bootloader(厂商命令差异大)。
示例(警告:会清除设备数据):
fastboot flashing unlock
注意:不同厂商需要不同步骤(某些需先允许 OEM unlocking),并且多数设备会清除所有数据。
3. fastboot flash <partition> <file>
作用:刷写分区(慎用)。
示例:
fastboot flash boot boot.img
fastboot flash recovery recovery.img
更多推荐



所有评论(0)