注意,mac和linux下使用grep,window下使用需要将grep换成findstr
AMS相关
Activity相关
| AMS所有信息 | adb shell dumpsys activity |
|---|
| Activity相关信息 | adb shell dumpsys activity activities |
| 查看当前前台焦点页面 | adb shell dumpsys activity a | grep mFocusedApp |
| 查看当前可见页面 | adb shell dumpsys activity a | grep mResumedActivity |
| 查看top页面的详细信息 | adb shell dumpsys activity top-resumed |
| 查看当前容器层级信息 | adb shell dumpsys activity containers |
| 上次启动的Activity信息 | adb shell dumpsys activity starter |
| 查看SleepToken信息 | adb shell dumpsys activity processes | grep SleepToken |
| Service组件信息 | adb shell dumpsys activity services |
|---|
| 广播组件信息 | adb shell dumpsys activity broadcasts |
| 广播统计信息 | adb shell dumpsys activity broadcast-stats |
| ContentProvider组件信息 | adb shell dumpsys activity providers |
| PendingIntent信息 | adb shell dumpsys activity intents |
| 查看当前系统耗时消息(MIUI) | adb shell dumpsys activity loopers |
| 查看binder代理相关信息 | adb shell dumpsys activity binder-proxies |
| 查看用户空间相关信息 | adb shell dumpsys activity users |
| 权限相关信息 | adb shell dumpsys activity permissions |
进程相关
-
在app进程启动之前断点
| 作用 | 命令 |
|---|
| 开启调试模式 | adb shell am set-debug-app -w pkn |
| 清除调试模式 | adb shell am clear-debug-app -w pkn |
-
进程信息相关
| 查看进程所有信息 | adb shell dumpsys activity processes |
|---|
| 查看某个进程信息 | adb shell dumpsys activity p processName |
| 查看ams进程lru列表 | adb shell dumpsys activity lru |
-
进程查杀相关
| miui的保活名单查看 | adb shell dumpsys ProcessManager |
|---|
| lowmemorykiller查杀级别数量记录 | adb shell dumpsys activity lmk |
| 查看进程死亡记录 | adb shell dumpsys activity exit-info |
| 强杀进程 | adb shell am force-stop pkn |
| 普通查杀进程 | adb shell kill -9 pkn |
-
进程优先级查看
| 查看进程的procState和adj | adb shell dumpsys activity oom |
|---|
其它
| 查看桌面的widget | adb shell dumpsys appwidget |
|---|
| 打开AMS的debug开关 | adb shell dumpsys activity loggingadb shell am logging enable-text XXX |
WMS相关
基本命令
| 查看窗口的信息 | adb shell dumpsys window w |
|---|
| 查看UI绘制的各个层级信息 | adb shell dumpsys SurfaceFlinger |
| 查看当前焦点窗口 | adb shell dumpsys activity a | grep mCurrentFocus |
Debug log 打开
| 查看可打开的debug log | adb shell dumpsys window logging |
|---|
| 打开对应的debug log开关 | adb shell wm logging enable-text groups |
PMS相关
列出相关package信息
| 列出所有的应用 | adb shell pm list package |
|---|
| 列出系统应用 | adb shell pm list package -s |
| 列出第三方应用 | adb shell pm list package -3 |
| 列出应用包名及对应的apk名及存放位置 | adb shell pm list package -f |
| 列出应用包名及其安装来源 | adb shell pm list package -i |
| 只显示disabled包名 | adb shell pm list package -d |
其它
| disable 某个app | adb shell pm disable pkn |
|---|
| disbale某个组件 | adb shell pm disable com.google.android.setupwizard com.google.android.setupwizard.util.WebDialogActivity |
| 查看所有的权限组 | adb shell pm list permission-groups |
日常开发相关
编译相关
刷机相关
| 查看当前连接设备 | adb devicesfastboot devices(fastboot模式下) |
|---|
| 进入bootloader模式刷机 | adb reboot bootloader./flash_all.sh |
| 进入fastboot模式push image | adb reboot fastbootadb flash super super.img |
| 进入recovery模式 | adb reboot recovery |
adb查看log
| 查看所有log(级别大于Warning) | adb logcat -b all *:W |
|---|
| 查看event log | adb logcat -b events |
| 查看system log | adb logcat -v time |
| 查看main log | adb logcat -b main |
| 抓取完整bugreport | adb bugreport |
| 查看crash | adb logcat -b crash |
查看手机相关属性
| 变量 | 命令 | 示例 |
|---|
| 查看android first api | adb shell getprop ro.product.first_api_level | |
| 查看设备上的输入法 | adb shell ime list -s | |
| Build.DEVICE | adb shell getprop ro.product.device | dipper |
| Build.VERSION.RELEASE | adb shell getprop ro.build.version.release | 12 |
| Build.MODEL | adb shell getprop ro.product.model | |
| Build.VERSION.INCREMENTAL | adb shell getprop ro.build.version.incremental | 版本号 |
| Build.VERSION.SDK_INT | adb shell getprop ro.build.version.sdk | 31 |
| Build.TYPE | adb shell getprop ro.build.type | user |
| Build.TAGS | adb shell getprop ro.build.tags | test-keys |
开发调试相关
| 手机挂载 | // 第一次执行如下两条adb disable-verityadb reboot// 正常只需执行下面adb rootadb remount |
|---|
| 查看某个apk的详细信息 | aapt dump badging apkName |
| |
其它
内存信息查看
| 查看ams内存信息process+oom+category+total | adb shell dumpsys meminfo |
|---|
| 输出指定包名的进程,可能包含多个进程 | adb shell dumpsys meminfo --package "packagename" |
| 输出指定pid的某一进程 | adb shell dumpsys meminfo "pid" |
| 查看手机详细的内存信息 | adb shell cat /proc/meminfo |
| 查看cpu和内存占用情况 | adb shell top |
Binder相关
| 查看binder transaction信息 | adb shell cat /sys/kernel/debug/binder/transaction_log |
|---|
稳定性相关
| 查看上次anr信息 | adb shell dumpsys activity lastanr |
|---|
| 查看上次anr traces信息 | adb shell dumpsys activity lastanr-traces |
| |
Power相关
| 让设备进入idle状态 | adb shell dumpsys battery unplugadb shell dumpsys deviceidle step 执行四遍 |
|---|
| 查看Alarm相关信息 | adb shell dumpsys alarm |
| 查看电池信息 | adb shell dumpsys battery |
| 获取当前系统的亮度值 | adb shell settings get system screen_brightness |
| 更改亮度值 | adb shell settings put system screen_brightness 150 |
| 查看对应的job | adb shell dumpsys jobscheduler pkg |
| 触发job | adb shell cmd jobscheduler run -f pkgName jobId |
底层相关
| 查看sensor相关信息 | adb shell dumpsys sensorservice |
|---|
| 查看内核log | adb shell dmesg -w |
| 抓取native进程traces | adb shell debuggerd -b pid |
Selinux相关
| 放开权限校验 | adb shell setenforce 0 |
|---|
| 恢复权限校验 | adb shell setenforce 1 |
| 编译该模块 | make selinux_policy -j4 |
录屏截图相关
| 截图 | adb shell screencap -p /sdcard/screen.png |
|---|
| 录屏(指定时间为10s) | adb shell screenrecord --time-limit 10 sdcard/record.mp4 |