当前位置:   article > 正文

ADB获取手机分辨率的多种方法,解决部分手机获取不到的问题_adb调手机分辨率

adb调手机分辨率

ADB

一、获取分辨率方法(1)

adb shell wm size

D:\adb>adb shell wm size
Physical size: 720x1280
  • 1
  • 2
  • 返回的是物理屏幕分辨率,比较常见,获取也比较简单
  • 随着时代发展,现在部分手机出现了双分辨率,返回的是覆盖尺寸,下图
D:\adb>adb shell wm size
Override size:2610x1920
  • 1
  • 2
  • 所以对于开发者来说,需要添加判断,才确保分辨率获取正确
  • 两个获取屏幕的正则方式:
  • .?Override size: (\d+x\d+).?
  • .?Physical size: (\d+x\d+).?

二、获取分辨率方法(2)

adb shell dumpsys window displays “|head -n 3”

D:\adb>adb shell dumpsys window displays "|head -n 3"
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
  Display: mDisplayId=0
    init=720x1280 320dpi cur=720x1280 app=720x1280 rng=720x670-1280x1230
  • 1
  • 2
  • 3
  • 4
  • 正则:init=([0-9]+x[0-9]+)

三、获取分辨率方法(3)

adb shell dumpsys window displays “| grep -Eo init=[0-9]+x[0-9]+”

D:\adb>adb shell dumpsys window displays "| grep -Eo init=[0-9]+x[0-9]+"
init=720x1280
  • 1
  • 2
  • 正则:[0-9]+x[0-9]+

四、获取分辨率方法(4)

adb shell dumpsys window “| grep ShownFrame | head -n 1”

D:\adb> adb shell dumpsys window "| grep ShownFrame | head -n 1"
    mHasSurface=true mShownFrame=[0.0,0.0][720.0,1280.0] isReadyForDisplay()=true
  • 1
  • 2
  • 正则:([0-9]+).0,(1280)

如果上面方法还是没有解决。 可能是因为以下原因:

  1. ADB (Android Debug Bridge) 未正确安装或配置。
  2. 设备未开启USB调试模式或未授权连接电脑。
  3. ADB版本与手机系统不兼容。
  4. 设备连接问题,如USB线损坏、端口问题。
  5. 驱动问题,可能需要安装或更新设备特定的驱动。

解决方法:

  1. 确认ADB已正确安装,并且环境变量配置正确。
  2. 在手机的开发者选项中开启USB调试模式,并在弹出的授权对话框中允许电脑调试设备。
  3. 确认ADB版本与手机系统兼容,如果不兼容,更新ADB到最新版本或下载适合手机系统的版本。
  4. 尝试更换USB线或端口,确保设备正确连接到电脑。
  5. 安装或更新设备对应的驱动程序。
  6. 重新启动ADB服务:
adb kill-server
adb start-server
  • 1
  • 2
  1. 重新连接设备,确认手机屏幕上的允许调试提示。
  2. 使用adb devices查看设备是否被电脑识别,如果没有,重新插拔设备。
  3. 如果问题依旧,尝试重启手机和电脑。

如果以上步骤无效,请检查设备是否有特殊要求或限制,如需要特定驱动,或者寻求设备厂商的技术支持。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/675456
推荐阅读
相关标签
  

闽ICP备14008679号