news 2026/10/6 7:55:49

用 adb shell wm 查询 Android 屏幕尺寸与像素密度:tldr 项目 wm 命令页的完整解读

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 adb shell wm 查询 Android 屏幕尺寸与像素密度:tldr 项目 wm 命令页的完整解读
  • 文档
  • 教程
  • 知识库

【免费下载链接】tldr

Collaborative cheatsheets for console commands 📚.

项目地址:https://gitcode.com/GitHub_Trending/tl/tldr
点击查看免费下载

本文以 tldr 仓库中的 pages.bn/android/wm.md(及对应英文原页 pages/android/wm.md)为核心,系统讲解 Androidwm命令的用途、使用前提与两个核心子命令wm size/wm density的实战方法,并结合仓库中 pages/common/adb.md、pages/android/dumpsys.md 等相邻页面,说明如何通过 ADB 获取屏幕相关信息。读完本文,你将掌握在任意 Android 设备上快速查询屏幕物理分辨率与像素密度的标准命令,并理解 tldr 是如何用一句话加示例的方式把这些命令沉淀为可检索的速查手册的。

wm 命令是什么:屏幕信息的查询入口

wm是 Android 系统内置的 Window Manager(窗口管理器)命令行工具。在 tldr 的孟加拉语页面中,它的定位被概括为一句话:

显示 Android 设备屏幕的相关信息。

这句话虽然简洁,但界定了wm的核心职责——它是一个面向屏幕(显示)信息的查询与配置入口,而非文件管理、进程管理类工具。页面同时给出了一条硬性限制:

此命令只能通过adb shell使用。

这意味着wm无法在设备上直接以交互式 shell 命令被普通用户调用,必须借助电脑端的 Android Debug Bridge(ADB)远程进入设备 shell 后执行。这条前提正是 tldr 页面把wm放在android/目录而不是common/目录的原因之一:它的可用场景与运行方式都被 Android 平台特性严格约束。

使用前提:先进入 adb shell

wm的所有用法都建立在adb shell之上。在 pages/common/adb.md 中,tldr 对adb的定义是:

Android Debug Bridge: 与 Android 模拟器实例或已连接的 Android 设备通信。

执行wm命令的标准流程分为两步:

  1. 通过 USB(或无线调试)连接设备,确保adb devices能列出目标设备;
  2. 运行adb shell进入设备端 shell,之后输入wm size或wm density。

tldr 页面中给出的命令写法wm size、wm density都省略了adb shell前缀,这是因为它们描述的是设备端 shell 内的命令。完整执行方式在电脑端应写为:

adb shell wm size adb shell wm density

如果电脑连接了多台设备,还需配合adb -s {{device_id}} shell wm size指定目标设备(参见 pages/common/adb.md 中的-s参数说明)。理解这一层调用链,是正确使用wm命令的第一步:wm本身不是电脑端命令,而是 Android 系统服务暴露给 shell 的入口。

子命令一:wm size —— 查询屏幕物理尺寸

wm size用于显示 Android 设备屏幕的物理尺寸(physical size),即屏幕的物理分辨率,单位是像素。tldr 页面给出的用法是:

  • 显示 Android 设备屏幕的物理尺寸:

wm size

在真机上执行后,输出通常形如:

Physical size: 1080x2400

其中1080x2400即设备的物理分辨率(宽 × 高)。需要特别留意 tldr 特意强调的physical(物理)一词:wm size默认报告的是硬件层面的真实分辨率,而不是用户可感知的"当前显示分辨率"。现代 Android 设备即使处于全面屏手势、分屏或多窗口模式,物理分辨率本身也不会改变;若要查询或修改运行时窗口的覆盖尺寸,需要的是wm size的覆盖(override)形态,但 tldr 页面为控制信息密度,只保留了只读查询这一最安全、最常用的形态。

对开发者与测试人员而言,wm size的输出价值在于:

  • 快速确认设备真实分辨率,用于适配与回归测试;
  • 验证开发者选项或第三方工具是否改变了分辨率;
  • 在没有图形界面或设备无法正常显示时,通过 ADB 获取最基本的屏幕参数。

子命令二:wm density —— 查询屏幕物理密度

wm density用于显示 Android 设备屏幕的物理密度(physical density),即屏幕的像素密度,单位是 dpi(dots per inch,每英寸像素点数)。tldr 页面给出的用法是:

  • 显示 Android 设备屏幕的物理密度:

wm density

执行后输出通常形如:

Physical density: 440

440即该设备的物理 dpi 值。Android 系统的 UI 缩放与资源选择正是依赖这一数值:系统会根据 density 决定加载哪一套drawable-*dpi资源、按何种比例换算 dp(device-independent pixel)与物理像素。常见的物理密度档位包括160(mdpi 基准)、240(hdpi)、320(xhdpi)、440(约 2.75x,常见于高分辨率全面屏)等,但物理密度值完全由硬件决定,并不强制落在档位整数上。

在 tldr 的语境下,wm density是排查显示问题的利器:

  • 界面元素过小或过大,可先查看物理密度是否异常;
  • 结合wm size一起输出,可以估算设备的实际显示比例(例如 1080x2400 配合 440dpi 约为 2.75x 缩放);
  • 用于判断是否有人通过开发者选项或wm density的覆盖形态篡改过系统密度(与wm size类似,覆盖形态不在本页面示例范围内)。

为什么是这两条:页面设计背后的取舍

wm size与wm density是wm命令中最基础、最安全的只读子命令。tldr 页面的设计哲学是"用最少的示例覆盖最常见的用法",因此:

  1. 优先只读查询:查看屏幕信息是wm最常见的诉求,且无副作用,适合放入速查手册;
  2. 省略覆盖/重置形态:wm size与wm density还支持覆盖(如设置指定分辨率/密度)及 reset 恢复默认值,但这些操作会改变系统 UI 行为、存在兼容性风险,且需要 root 或 system 权限,因此 tldr 刻意未收录——这与 tldr 一贯"只收录经过验证、安全可复制的命令"的风格指南原则一致;
  3. 符合页面的通用模板:每个命令条目都遵循">描述 +-示例 + 命令代码块"的结构,让英文页与孟加拉语等各语言页保持一一对应,便于维护与机器翻译对齐。

组合使用:与其他 adb 屏幕相关工具协同

wm并非获取屏幕/显示信息的唯一渠道。在 tldr 的android/目录下,它与多个相邻命令共同构成了一套"屏幕诊断工具箱":

命令职责仓库页面
wm屏幕物理尺寸、物理密度pages/android/wm.md
dumpsys转储 WindowManager 等系统服务诊断信息pages/android/dumpsys.md
screencap截取屏幕并保存为图片pages/android/screencap.md
settings读取/修改系统全局设置(含屏幕亮度等)pages/android/settings.md

实际排查屏幕问题的典型组合是:

adb shell wm size # 确认物理分辨率 adb shell wm density # 确认物理密度 adb shell dumpsys window | grep -i density # 深入查看窗口管理器层的信息 adb shell screencap /sdcard/screen.png # 截图留存现场

其中dumpsys的孟加拉语页面(pages.bn/android/dumpsys.md)同样声明"此命令只能通过 adb shell 使用",印证了 Android 平台这类诊断命令共通的运行方式。需要说明的是,wm的只读输出与dumpsys的窗口信息是互补关系:前者是面向用户的简洁结论,后者是面向调试的详尽转储。

tldr 的多语言组织:孟加拉语页面如何产生

wm页面在仓库中以单一英文源页 + 多语言翻译页的方式存在,孟加拉语页面是这套多语言体系的一环。目前仓库中收录了wm页面的语言包括英文(pages/android/wm.md)、孟加拉语(pages.bn/android/wm.md)、德语、西班牙语、法语、印地语、印尼语、意大利语、日语、韩语、荷兰语、波兰语、葡萄牙语、俄语、泰米尔语、土耳其语、乌克兰语、简体中文(pages.zh/android/wm.md)与繁体中文等,分布在对应的pages.*/android/wm.md路径下。

这种组织的工程意义在于:

  • 一一对应:各语言页的结构、示例数量与英文页严格一致,便于 diff 审查与批量同步;
  • 术语统一:size/density/physical等技术词汇在各语言页中保持等价翻译,降低歧义;
  • 易检索:无论用户使用哪种语言,都能在统一路径规则下找到同一命令的本地化速查。

孟加拉语页面本身严格遵循 tldr 的风格指南模板:H1 标题为命令名,引用块以>给出描述与使用限制,示例以-开头并紧跟反引号包裹的命令行。这种格式同时兼顾了人读(终端友好、一目了然)与机读(结构化、可被脚本解析),正是 tldr 全项目数千个命令页共同遵守的规范。

实战要点与注意事项

  1. 必须在 adb shell 环境执行:wm size/wm density不是电脑端可执行文件。若在电脑直接输入会得到command not found,正确姿势是adb shell wm size。
  2. 输出是物理值而非用户配置值:页面明确标注 "physical",两者含义不同——物理值是硬件事实,用户可感知值可能被系统 UI 或开发者选项覆盖。
  3. 无需 root:查询(只读)形态不要求特殊权限,任何已开启 USB 调试的设备均可执行;但覆盖尺寸/密度的写操作形态需要更高权限,这也解释了 tldr 为何只收录查询形态。
  4. 注意平台差异:本文描述以 tldr 仓库页面记录的 Android 平台行为为准;不同 Android 版本对wm的输出格式可能略有差异,实际使用时以设备反馈为准。
  5. 配合多设备场景:连接多台设备时,先adb devices获取 device id,再用adb -s {{device_id}} shell wm size精确指定目标。

小结

wm size与wm density两行命令,构成了通过 ADB 快速掌握 Android 设备屏幕核心参数的起点:一行拿到物理分辨率,一行拿到物理像素密度。tldr 仓库用极简的孟加拉语页面(pages.bn/android/wm.md)把这一知识以"描述 + 前提 + 双示例"的模板固化下来,并与adb、dumpsys、screencap、settings等页面共同织成一张 Android 设备诊断速查网。对开发者而言,读懂这页的细节——为什么强调 physical、为什么只能走 adb shell、为什么只收录只读形态——比记住两条命令本身更有价值,因为它们反映的正是 Android 显示体系的工作方式与 tldr 项目"精简、可靠、可检索"的内容设计原则。

  • 文档
  • 教程
  • 知识库

【免费下载链接】tldr

Collaborative cheatsheets for console commands 📚.

项目地址:https://gitcode.com/GitHub_Trending/tl/tldr
点击查看免费下载

相关推荐

上一篇:@langchain/fireworks 演进全览:LangChain.js 中 Fireworks 集成包的 API 能力、重试机制与流式事件详解
下一篇:Zoom Windows Meeting SDK 本地录制实战:基于 IMeetingRecordingController 的 MP4 录制全流程实现

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 7:54:43

【2027大数据项目】基于大数据的奥运会奖牌榜数据分析与可视化,附源码_高质量项目_可视化_数据分析_毕设选题推荐_SPark_Hadoop_毕设指导

💖💖作者:计算机毕业设计杰瑞 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括…

作者头像 李华
网站建设 2026/10/6 7:47:28

The Generative Energy Arena (GEA): Incorporating Energy Awareness in Large Language Model (LLM) H...

文章主要内容总结 本文针对大型语言模型(LLMs)评估中能源消耗因素被忽视的问题,提出了生成能源竞技场(Generative Energy Arena, GEA) 这一评估平台。 背景:现有LLM评估方法存在局限——自动化基准测试与人类偏好相关性低,传统人类评估可扩展性差,公开竞技场(如LM Ar…

作者头像 李华