ADB——修改手机默认参数

修改原理

  修改设置的原理主要是经过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。android

  利用ADB的命令能够修改手机的一些默认设置,修改设置以后,运行恢复命令有可能显示仍然不太正常,能够运行 adb reboot 重启设备,或手动重启。git

 

修改命令

修改分辨率github

adb shell wm size 480x1024 # 表示将分辨率修改成 480px * 1024px。

# 恢复原分辨率
adb shell wm size reset

 

修改屏幕密度shell

adb shell wm density 160 # 表示将屏幕密度修改成 160dpi。

# 恢复原屏幕密度
adb shell wm density reset

 

修改显示区域api

adb shell wm overscan 0,0,0,200 # 四个数字分别表示距离左、上、右、下边缘的留白像素,以上命令表示将屏幕底部 200px 留白。

# 恢复原显示区域
adb shell wm overscan reset

 

关闭USB调试:app

adb shell settings put global adb_enabled 0

 

注意:用命令没法恢复,毕竟关闭了 USB 调试 adb 就链接不上 Android 设备了。去设备上手动恢复:「设置」-「开发者选项」-「Android 调试」。ide

 

容许访问非 SDK API:spa

adb shell settings put global hidden_api_policy_pre_p_apps 1
adb shell settings put global hidden_api_policy_p_apps 1

 

禁止访问非 SDK API:调试

adb shell settings delete global hidden_api_policy_pre_p_apps
adb shell settings delete global hidden_api_policy_p_apps

 

  上述个功能不须要设备得到 Root 权限。日志

  命令最后的数字的含义:

含义
0 禁止检测非 SDK 接口的调用。该状况下,日志记录功能被禁用,而且令 strict mode API,即 detectNonSdkApiUsage() 无效。不推荐。
1 仅警告——容许访问全部非 SDK 接口,但保留日志中的警告信息,可继续使用 strick mode API。
2 禁止调用深灰名单和黑名单中的接口。
3 禁止调用黑名单中的接口,但容许调用深灰名单中的接口。

 

状态栏和导航栏的显示隐藏

命令:

adb shell settings put global policy_control <key-values>

 

<key-value> 可由以下几种键及其对应的值组成,格式<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=*

# 设置在包名为 com.package1 和 com.package2 的应用里隐藏状态栏,在除了包名为 com.package3 的全部应用里隐藏导航栏。
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
相关文章
相关标签/搜索