ADB——修改手机默认参数
修改原理
修改设置的原理主要是通过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。
利用ADB的命令可以修改手机的一些默认设置,修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行 adb reboot 重启设备,或手动重启。
修改命令
修改分辨率
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 调试」。
允许访问非 SDK API:
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
ADB——修改手机默认参数的更多相关文章
- android利用adb修改手机的分辨率和dpi
在android开发过程中,适配更多的适配是必不可少的一步,而每次测试适配时,要么购买设配,要么模拟器,买设配太花钱,模拟器太占内存,不过幸好还可以通过修改手机的size(分辨率)和density来进 ...
- adb修改手机分辨率
一.手机分辨率对照表 宽×高(标准值) 240×320 320×480 480×800 720×1280 1080×1920 1440×2560 DPI等级 LDPI MDPI HDPI XHDPI ...
- adb 修改手机代理方式
一.使用全局命令 设置代理: adb shell settings put global http_proxy 代理IP地址:端口号 如: adb shell settings put global ...
- python定义函数时默认参数注意事项
如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用, 如 def func(arg1=[]): arg1.append(2) 调用func时 ...
- python默认参数不能定义为可变对象类型
python的默认参数只会在函数定义时被确定,而不是每次调用时重新确定,所以,一旦在函数中修改了默认参数,则在随后的调用中都会生效 由于这个特性,在定义函数时,如果默认参数使用可变的对象类型,如空列表 ...
- Android 系统默认参数的修改
转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置, ...
- [Python]可变类型,默认参数与学弟的困惑
一.学弟的困惑 十天前一个夜阑人静.月明星稀的夜晚,我和我的朋友们正在学校东门的小餐馆里吃着方圆3里内最美味的牛蛙,唱着最好听的歌儿,畅聊人生的意义.突然,我的手机一震,气氛瞬间就安静下来,看着牛蛙碗 ...
- 腾讯云短信 nodejs 接入, 通过验证码修改手机示例
腾讯云短信 nodejs 接入, 通过验证码修改手机示例 参考:腾讯云短信文档国内短信快速入门qcloudsms Node.js SDK文档中心>短信>错误码 nodejs sdk 使用示 ...
- python3 函数的形参、实参、位置参数、默认参数、关键字参数以及函数的递归
python 版本 3.5 #Author by Andy#_*_ coding:utf-8 _*_def func(x,y=2): print('我是形参%s'%x) print('我是默认参y-- ...
随机推荐
- JDK12----------java环境变量配置
https://jingyan.baidu.com/article/e5c39bf511bb3939d6603370.html
- Servlet(四):request和response对象
Request对象:问题: 浏览器发起请求到服务器,会遵循HTTP协议将请求数据发送给服务器. 那么服务器接受到请求的数据改怎么存储呢?不但要存,而且要保证完成性. 解决: 使用对象进行存储,服务器每 ...
- selenium webdriver 如何添加cookie
一. webdriver中常用的cookie方法 webdriver中提供了操作cookie的相关方法: get_cookies() 获得cookie信息 add_c ...
- 程序猿最浪漫的表白,肯定会得到你的她——Jason niu 原文来自GitHub,本人已部分修改
程序猿最浪漫的表白,肯定会得到你的她——Jason niu 原文来自GitHub,主页本人已部分修改,感谢程序猿大神wuxia2001和hackerzhou的开源,感谢这两位大神! 视频结果展示 ...
- Python: 你不知道的 super
https://segmentfault.com/a/1190000007426467 Python: 你不知道的 super 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我 ...
- css 背景(background)属性、背景图定位
background属性: Background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图上和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项: ...
- SpringMVC用到的jar包
SpringMVC用到的jar包 自己搭建一个SpringMVC框架时需要用到相应的jar包,参考下载网址: http://repo.spring.io/release/org/springframe ...
- Zepto.js_开始
https://zeptojs.com 轻量级的 JavaScript 库,移动端优先框架 针对移动端,处理了一系列如 click 点击延迟 毫秒 响应执行快 目前 API 完善的框架中体积最小的一个 ...
- scrapy流程
- File类中的一些属性 添加删除文件夹
import java.io.File; import java.io.IOException; public class FileD { public static void main(String ...