一、前言
- 本文介绍了一些常用的ADB(Android Debug Bridge)命令
二、通用
- 连接多个ADB设备时指定设备
adb -s {DEVICE_ID} {COMMAND}
- 连接到远程ADB设备
adb connect 192.168.137.97:5555
- 直接执行命令
adb shell {COMMAND}
- 查看日志
adb logcat
三、Android框架相关
-
查看系统ActivityManagerService信息
# AMS全部信息 adb shell dumpsys activity # Activity任务栈 adb shell dumpsys activity containers # Activity信息 adb shell dumpsys activity activities # Service信息 adb shell dumpsys activity services # Content Provider信息 adb shell dumpsys activity providers # Broadcast信息 adb shell dumpsys activity broadcasts # Intent信息 adb shell dumpsys activity intents # 进程信息 adb shell dumpsys activity processes
-
列出系统中所有apk对应的包名
adb shell pm list packages -f
-
列出系统所有支持的特性
adb shell pm list features
-
列出系统所有已知的权限
adb shell pm list permissions -f
-
列出系统所有已知的权限组
adb shell pm list permission-groups
-
查询Intent匹配的组件
adb shell pm resolve-activity INTENT adb shell pm query-activities INTENT adb shell pm query-services INTENT adb shell pm query-receivers INTENT
-
使用ActivityManager启动Activity
adb shell am start -n {PACKAGE_NAME}/{ACTIVITY_CLASS_NAME} # -D 为使用Debug模式启动 adb shell am start -D -n {PACKAGE_NAME}/{ACTIVITY_CLASS_NAME}
-
进行系统截图
adb shell screencap -p {PNG_FILE_NAME}
四、网络相关
- 去除AOSP中无法访问互联网的叉号
adb shell settings put global captive_portal_https_url https://wrlus.com/generate_204
- 配置HTTP代理
# 添加代理 adb shell settings put global http_proxy {PROXY_HOST}:{PROXY_PORT} # 删除代理 adb shell settings delete global http_proxy
五、系统相关
- 重启命令
# 软重启(不会断开ADB连接) adb shell "stop;start" # 正常重启 adb reboot # 重启到引导程序 adb reboot bootloader # 重启到恢复模式 adb reboot recovery # 重启到用户态fastboot (>= 10.0) adb reboot fastboot
- 设置
ro.debuggable
(需要Magisk)adb shell magisk resetprop ro.debuggable 1
- 临时禁用SELinux
adb shell setenforce 0