一种从命令行/终端/ adb获取当前分辨率大小和DPI的方法?


13

我可以adb使用我的Android手机。

所以我知道我可以am使用Android提供的命令覆盖屏幕密度和屏幕分辨率。我猜那很棒又花花公子。但是有没有办法从命令行获取这两个数字?我知道该pm实用程序可以进行一些信息收集,尤其是pm list features可以查看Android设备是否具有无线,蓝牙,gps等pm功能。但是,报告的功能似乎并不多于此。

了解该命令支持的Android版本将很有帮助。理想情况下,我想在Android 2.2+(Froyo)上可以使用的东西,但是在4.0.3+(Ice Cream Sandwich)上可以使用的东西也可以。我也想知道是否有一种方法可以解决这个问题,而无需root用户访问权限。

我知道有可能以编程方式获得屏幕分辨率和密度,如本问题所述

Answers:


14

dumpsys命令的结果和精确格式取决于硬件供应商(图形芯片组/驱动程序和手机本身),但是您应该能够在adb shell dumpsys display输出中找到该信息


5
因此,我可以致电adb shell dumpsys display | grep mBaseDisplayInfo获取适当的信息?似乎匹配,在我的关系7上dumpsys报告密度为213和分辨率为800x1280。它还报告有关旋转等信息,整齐。我不知道dumpsys存在,但它似乎对报告有很多有用的信息,这里要注意:stackoverflow.com/questions/11201659/...
Ehtesh乔杜里

是。问题是,不同的电话可能具有不同的格式,这行格式

adb shell dumpsys显示| grep mRequestedMode 然后adb shell dumpsys显示| grep mMode = {id =获取modeinfo
Lava Sangeetham

9

在配备wm工具的Android版本中,您可以使用以下命令:

adb shell wm size      # shows the real size and current size
adb shell wm density   # shows the real density and current density

(点击图片放大)

IMG:

我已经在股票Android 5.x和6.x上成功进行了测试。由于wm工具也随Android 4.3.x和4.4.x一起提供,因此该解决方案也可能适用于它们。


注意:是的,这个问题仅限于现在的Android版本,但该问题似乎与任何Android版本都相关。我决定带来未包含在可接受答案中的信息。
Firelord

此度量单位是像素吗?
IgorGanapolsky

我不知道的@IgorGanapolsky。
Firelord

6

如果display服务不可用dumpsys,您可能会寻找行ro.sf.lcd_density=/system/build.prop。要通过电话获取:

adb pull /system/build.prop
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.