记录一次安卓手机使用wm命令错误参数,导致的屏幕大小错误以及挽救

⌚Time: 2024-02-18 12:13:54

👨‍💻Author: Jack Ge

使用安卓终端管理器运行wm命令调整屏幕大小


wm size wxh

原本分辨率1024x2048,失手调成了800x600,手机屏幕一下子变成800x600


wm size 800x600

wm命令重启后依旧会保持分辨率,所以重启手机没有用。

看锁屏界面连解锁图案都没了,通过指纹解锁进入系统,不敢关机,关机重启后要解锁图案,肯定不能进入界面

此时停留在终端,键盘已经没有回车和空格键,不能输命令

手里没有otg键盘,否则连接实体键盘,盲打命令恢复分辨率。

尝试使用adb连接电脑操控,发现手机的usb调试竟然没有打开,无法使用adb。

下拉列表通过流量开关,安全中心,一顿乱点辗转到了设置,终于打开了usb调试,因为弹出的询问窗口能够显示确认按钮

但是并不表示这就结束了。adb连接需要手机授权,不知道到时候授权窗口是否显示完整

之后运行adb devices查看设备,发现果然是未授权。手机上弹出授权窗口,果然连确认按钮都没有

之后尝试各种办法,最后通过设置手机屏幕旋转,把屏幕设置成横向显示解决了

之后使用adb命令进入shell


adb shell

wm命令需要root权限,获取root权限


su

授权窗口的确认按钮也不显示,很绝望

这时候发现纵向的键盘能够显示完整的回车和空格,但是已经离开终端界面

通过adb启动终端模拟器盲打输入命令恢复分辨率就可以了

获取终端模拟器活动窗口的名字


polaris:/ $ cmd package resolve-activity --brief  jackpal.androidterm | tail -n

1

esolve-activity --brief  jackpal.androidterm | tail -n 1                      <

jackpal.androidterm/.Term

启动终端模拟器




polaris:/ $ am start -n jackpal.androidterm/jackpal.androidterm.Term

am start -n jackpal.androidterm/jackpal.androidterm.Term

Starting: Intent { cmp=jackpal.androidterm/.Term }

Warning: Activity not started, its current task has been brought to the front

polaris:/ $

这时候回到了终端模拟器,键盘可以打字了

输入恢复分辨率


wm size reset

终于是恢复了分辨率正常显示了

有惊无险,差点重刷手机系统。

折腾安卓手机多年,最后决定卸载终端模拟器,越是玩技术最后是玩火自焚而已。