ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。
注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。
- [修改设置]
- [分辨率]
- [屏幕密度]
- [显示区域]
- [关闭 USB 调试模式]
- [状态栏和导航栏的显示隐藏]
修改设置
注: 修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行 adb reboot
重启设备,或手动重启。
修改设置的原理主要是通过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。
分辨率
命令:
adb shell wm size 480x1024
表示将分辨率修改为 480px * 1024px。
恢复原分辨率命令:
adb shell wm size reset
屏幕密度
命令:
adb shell wm density 160
表示将屏幕密度修改为 160dpi。
恢复原屏幕密度命令:
adb shell wm density reset
显示区域
命令:
adb shell wm overscan 0,0,0,200
四个数字分别表示距离左、上、右、下边缘的留白像素,以上命令表示将屏幕底部 200px 留白。
恢复原显示区域命令:
adb shell wm overscan reset
关闭 USB 调试模式
命令:
adb shell settings put global adb_enabled 0
恢复:
用命令恢复不了了,毕竟关闭了 USB 调试 adb 就连接不上 Android 设备了。
去设备上手动恢复吧:「设置」-「开发者选项」-「Android 调试」。
状态栏和导航栏的显示隐藏
本节所说的相关设置对应 Cyanogenmod 里的「扩展桌面」。
命令:
adb shell settings put global policy_control <key-values>
<key-values>
可由如下几种键及其对应的值组成,格式为 <key1>=<value1>:<key2>=<value2>
。
key | 含义 |
---|---|
immersive.full | 同时隐藏 |
immersive.status | 隐藏状态栏 |
immersive.navigation | 隐藏导航栏 |
immersive.preconfirms | ? |
这些键对应的值可则如下值用逗号组合:
value | 含义 |
---|---|
apps |
所有应用 |
* |
所有界面 |
packagename |
指定应用 |
-packagename |
排除指定应用 |
例如:
adb shell settings put global policy_control immersive.full=*
表示设置在所有界面下都同时隐藏状态栏和导航栏。
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
表示设置在包名为 com.package1
和 com.package2
的应用里隐藏状态栏,在除了包名为 com.package3
的所有应用里隐藏导航栏。