【Android】【多屏】多屏异显异触调试技巧总结

这里写目录标题

如何获取多屏IDs

bash 复制代码
dumpsys display | grep mDisplayId

trinket:/ # dumpsys display | grep mDisplayId
    mDisplayId=0
    mDisplayId=2
trinket:/ #

获取多屏的size/density

bash 复制代码
trinket:/ # wm
Window manager (window) commands:
  help
      Print this help text.
  size [reset|WxH|WdpxHdp] [-d DISPLAY_ID]
    Return or override display size.
    width and height in pixels unless suffixed with 'dp'.
  density [reset|DENSITY] [-d DISPLAY_ID]
    Return or override display density.
  folded-area [reset|LEFT,TOP,RIGHT,BOTTOM]
    Return or override folded area.
  overscan [reset|LEFT,TOP,RIGHT,BOTTOM] [-d DISPLAY ID]
    Set overscan area for display.
  scaling [off|auto] [-d DISPLAY_ID]
    Set display scaling mode.
  dismiss-keyguard
    Dismiss the keyguard, prompting user for auth if necessary.
  set-user-rotation [free|lock] [-d DISPLAY_ID] [rotation]
    Set user rotation mode and user rotation.
  set-fix-to-user-rotation [-d DISPLAY_ID] [enabled|disabled]
    Enable or disable rotating display for app requested orientation.
  tracing (start | stop)
    Start or stop window tracing.

通过指令 wm size -d xxx; // xxx 代表ID

bash 复制代码
trinket:/ # wm size -d 0
Physical size: 1080x1920
trinket:/ # wm size -d 2
Physical size: 1280x720
trinket:/ #

通过指令 wm density -d xxx; // xxx 代表ID

bash 复制代码
trinket:/ # wm density -d 0
Physical density: 320
Override density: 240
trinket:/ # wm density -d 2
Physical density: 213

如何启动应用到指定DisplayId

bash 复制代码
am start -n com.android.settings/.Settings --display 2

多屏截屏/录屏

screencap
bash 复制代码
trinket:/ # screencap  -h
usage: screencap [-hp] [-d display-id] [FILENAME]
   -h: this message
   -p: save the file as a png.
   -d: specify the physical display ID to capture (default: 19260879647709569)
       see "dumpsys SurfaceFlinger --display-id" for valid display IDs.
If FILENAME ends with .png it will be saved as a png.
If FILENAME is not given, the results will be printed to stdout.

指令如下:

bash 复制代码
//display id 0,界面截屏
screencap -p -d 0 sdcard/0.png
//display id 2,界面截屏
screencap -p -d 2 sdcard/2.png
screenrecord

当前android平台没有指令支持。

发送按键到指定DisplayId
bash 复制代码
//发送 back 按键到display id 2
input -d 2 keyevent 4

//发送屏幕点击事件
input -d 2 tap 200 200 

//发送屏幕滑动事件
//swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
input -d 2 siwpe 200 200 200 500 40
相关推荐
CYRUS_STUDIO17 分钟前
一文搞懂 Frida Stalker:对抗 OLLVM 的算法还原利器
android·逆向·llvm
zcychong1 小时前
ArrayMap、SparseArray和HashMap有什么区别?该如何选择?
android·面试
CYRUS_STUDIO1 小时前
Frida Stalker Trace 实战:指令级跟踪与寄存器变化监控全解析
android·逆向
ace望世界6 小时前
android的Parcelable
android
顾林海6 小时前
Android编译插桩之AspectJ:让代码像特工一样悄悄干活
android·面试·性能优化
叽哥6 小时前
Flutter Riverpod上手指南
android·flutter·ios
循环不息优化不止6 小时前
安卓开发设计模式全解析
android
诺诺Okami6 小时前
Android Framework-WMS-层级结构树
android
alexhilton17 小时前
面向开发者的系统设计:像建筑师一样思考
android·kotlin·android jetpack
CYRUS_STUDIO1 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向