adb 查看屏幕大小_如何从adb命令行获取Android设备的屏幕尺寸?

本文介绍了多种使用adb命令行工具获取Android设备屏幕尺寸和密度的方法,包括使用`wm density`、`getprop ro.sf.lcd_density`、`dumpsys window`等命令,并提供了相关示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何从adb命令行获取Android设备的屏幕尺寸?

我需要一种使用adb检测设备屏幕尺寸和密度的方法。如果没有解决方案,我在哪里可以获取所有现有android设备及其屏幕尺寸和密度的完整列表?

user954469 asked 2020-02-04T21:35:12Z

8个解决方案

64 votes

您还可以通过ADB访问WindowManager:

$ adb shell wm

usage: wm [subcommand] [options]

wm size [reset|WxH]

wm density [reset|DENSITY]

wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]

以下命令将为您提供密度:

$ adb shell wm density

Physical density: 320

您还可以通过添加新的密度来覆盖密度:

$ adb shell wm density 160

Albert-Jan Verhees answered 2020-02-04T21:35:34Z

32 votes

LCD密度在build.prop中:

adb shell getprop ro.sf.lcd_density

解决方案在输入活动的dumpsys中可用:

# windows

adb shell dumpsys window | find "DisplayWidth"

# linux

adb shell dumpsys window | grep DisplayWidth

它适用于我测试过的所有设备(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) ,以及仿真器,尽管仿真器的输出太干净了,无法用作解析的好例子。

Nisan.H answered 2020-02-04T21:36:03Z

20 votes

dumpsys window displays

显示如下内容:

Display: mDisplayId=0

init=1080x1920 480dpi cur=1080x1920 app=1080x1920 rng=1080x1005-1920x1845

layoutNeeded=false

另一种方式:

dumpsys display

还显示了一些有趣的东西,例如:

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

最后但并非最不重要:

dumpsys power

将显示类似

Electron Beam State:

mPrepared=false

mMode=2

mDisplayLayerStack=0

mDisplayWidth=1080

mDisplayHeight=1920

mSurfaceVisible=false

mSurfaceAlpha=0.0

您可以轻松地使用grep来显示mDisplayWidth和mDisplayHeight

chr0m4k3y answered 2020-02-04T21:36:44Z

10 votes

要从ADB获取必需的信息,从命令行执行以下命令将返回有关已连接设备的许多有用属性

> adb shell getprop

筛选这些属性

在Unix上使用grep如

> adb shell getprop | grep density

在Windows上使用find like

> adb shell getprop | findstr "density"

返回值看起来像

[ro.sf.lcd_density]: [240]

用于屏幕尺寸而不是密度

Elijah Saounkine answered 2020-02-04T21:37:26Z

1 votes

工作很好:

dumpsys window | grep Display

返回值:显示:init = 320x480 cur = 320x480 app = 320x480 rng = 320x295-480x455

Alex answered 2020-02-04T21:37:50Z

0 votes

您可以使用以下代码获取屏幕尺寸:

public int getScreenHeight() {

return getDisplay().getHeight();

}

private Display getDisplay() {

return ((WindowManager) getContext().getSystemService(

Context.WINDOW_SERVICE)).getDefaultDisplay();

}

public int getScreenWidth() {

return getDisplay().getWidth();

}

在上面的代码中完成“显示”后,您可以使用DisplayMetrics来获取密度。 DisplayMetrics还将为您提供绝对显示高度和高度。

Narcís Calvet answered 2020-02-04T21:38:15Z

-1 votes

如果您需要使用其屏幕尺寸和密度获取市场上可用的Android设备范围的当前状态,请单击此处

该数据基于截至数据收集日期的7天内访问Android电子市场的Android设备的数量

Vinayak Bevinakatti answered 2020-02-04T21:38:40Z

-1 votes

查看adb shell dumpsys的输出。 屏幕尺寸在那里显示了几次,以及许多其他信息。

...虽然现在我在办公室,但可以在手机上使用,但Galaxy平板电脑却没有。 真是

android.weasel answered 2020-02-04T21:39:04Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值