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

admin 4月前 102

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

adb shell wm size

D:\adb>adb shell wm size
Physical size: 720x1280
  • 返回的是物理屏幕分辨率,比较常见,获取也比较简单

  • 随着时代发展,现在部分手机出现了双分辨率,返回的是覆盖尺寸,下图

D:\adb>adb shell wm size
Override size:2610x1920
  • 所以对于开发者来说,需要添加判断,才确保分辨率获取正确

  • 两个获取屏幕的正则方式:

  • .?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
  • 正则: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
  • 正则:[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
  • 正则:([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. 使用adb devices查看设备是否被电脑识别,如果没有,重新插拔设备。

  3. 如果问题依旧,尝试重启手机和电脑。

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


最新回复 ( 1 )
发新帖
联系客服


客服工作时间:8:00~22:00
联系客服