79 votes

Comment obtenir la taille de l'écran de l'appareil Android à partir de la ligne de commande adb ?

J'ai besoin d'un moyen de détecter la taille et la densité de l'écran de l'appareil avec adb. S'il n'y a pas de solution, où puis-je obtenir la liste complète de tous les appareils Android existants avec leur taille et densité d'écran ?

121voto

Vous pouvez également accéder au WindowManager via ADB :

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

Pour obtenir la résolution de l'écran :

 $ adb shell wm size
Physical size: 2880x1600

Pour obtenir l'écran la densité :

 $ adb shell wm density
Physical density: 320

Vous pouvez également remplacer la densité en ajoutant la nouvelle densité :

 $ adb shell wm density 160

38voto

Nisan.H Points 1605

La densité LCD est dans le build.prop :

 adb shell getprop ro.sf.lcd_density

Et la résolution est disponible dans le dumpsys de l'activité d'entrée :

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

Il fonctionne sur tous les appareils avec lesquels j'ai testé (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) , ainsi que l'émulateur, bien que les sorties de l'émulateur soient trop propres pour servir de bon exemple pour l'analyse .

27voto

chr0m4k3y Points 1
dumpsys window displays

montre quelque chose comme ceci:

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

autrement:

 dumpsys display

montre aussi des trucs intéressants comme :

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

et pour couronner le tout:

 dumpsys power

affichera quelque chose comme

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

que vous pouvez facilement utiliser pour grep pour mDisplayWidth et mDisplayHeight

14voto

Elijah Saounkine Points 4108

Pour obtenir les informations requises d'ADB, la commande suivante exécutée à partir de la ligne de commande renverra de nombreuses propriétés utiles sur les appareils connectés

 > adb shell getprop

Pour filtrer ces propriétés

sur Unix, utilisez grep comme

 > adb shell getprop | grep density

sur Windows, utilisez trouver comme

 > adb shell getprop | findstr "density"

La valeur renvoyée ressemble à

 [ro.sf.lcd_density]: [240]

pour la taille de l'écran, mettez l'affichage au lieu de la densité

1voto

Alex Points 659

Le travail est bon:

 dumpsys window | grep Display

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X