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

前端 未结 9 1979
故里飘歌
故里飘歌 2020-12-07 10:37

I need a way to detect device screen size and density with adb. If there is no solution, where can I get the complete list of all existing android device with their screen

相关标签:
9条回答
  • 2020-12-07 10:51
    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

    0 讨论(0)
  • 2020-12-07 10:53

    Work is Good:

    dumpsys window | grep Display
    

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

    0 讨论(0)
  • 2020-12-07 10:54

    If you need to get the current status of range of Android device available in the market with it Screen Sizes and Densities Click here

    This data is based on the number of Android devices that have accessed Android Market within a 7-day period ending on the data collection date

    0 讨论(0)
  • 2020-12-07 11:02

    Look at the output of adb shell dumpsys. The screen size shows up there several times, along with lots of other information.

    ... although now I'm in the office, while it works on my phone, it's absent from the Galaxy tablet. Darn.

    0 讨论(0)
  • 2020-12-07 11:11

    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.

    0 讨论(0)
  • 2020-12-07 11:13

    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
    
    0 讨论(0)
提交回复
热议问题