How to get the Android device screen size from the adb command line?

Solution 1:

You can also access the WindowManager through ADB:

$ adb shell wm
usage: wm [subcommand] [options]
       wm size [reset|WxH]
       wm density [reset|DENSITY]
       wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]

To get the screen resolution:

$ adb shell wm size
Physical size: 2880x1600

To get the screen the density:

$ adb shell wm density
Physical density: 320

You can also override the density by adding the new density:

$ adb shell wm density 160

Solution 2:

LCD density is in the build.prop:

adb shell getprop ro.sf.lcd_density

And the resolution is availble in the dumpsys of the input activity:

# windows
adb shell dumpsys window | find "DisplayWidth"
# linux
adb shell dumpsys window | grep DisplayWidth

It works on all the devices I've tested with (2.2, 2.3.3, 2.3.4, 4.0.3; Acer Liquid E, HTC Wildfire S, HTC Incredible S, Motorola Atrix 4G, Samsung Galaxy Note, Samsung Galaxy Nexus), as well as the emulator, although the emulator's outputs are too clean to serve as a good example for parsing.

Solution 3:

dumpsys window displays

shows something like this:

Display: mDisplayId=0
  init=1080x1920 480dpi cur=1080x1920 app=1080x1920 rng=1080x1005-1920x1845
  layoutNeeded=false

another way:

dumpsys display

also shows some interesting stuff like:

mDefaultViewport=DisplayViewport{valid=true, displayId=0, orientation=0, logicalFrame=Rect(0, 0 - 1080, 1920), physicalFrame=Rect(0, 0 - 1080, 1920), deviceWidth=1080, deviceHeight=1920}

and last but not least:

dumpsys power

will display something like

Electron Beam State:
  mPrepared=false
  mMode=2
  mDisplayLayerStack=0
  mDisplayWidth=1080
  mDisplayHeight=1920
  mSurfaceVisible=false
  mSurfaceAlpha=0.0

that you could easily use to grep for mDisplayWidth and mDisplayHeight

Solution 4:

To get required info from ADB, the following command executed from the command line will return a lot of useful properties about the connected devices

> adb shell getprop

To filter through these properties

on Unix use grep like

> adb shell getprop | grep density

on Windows use find like

> adb shell getprop | findstr "density"

Returned value looks like

[ro.sf.lcd_density]: [240]

for screen size put display instead of density

Solution 5:

Work is Good:

dumpsys window | grep Display

return: Display: init=320x480 cur=320x480 app=320x480 rng=320x295-480x455