[10] ADB 修改设置
修改設(shè)置
- 分辨率
- 屏幕密度
- 顯示區(qū)域
- 關(guān)閉 USB 調(diào)試模式
- 允許/禁止訪問非 SDK API
- 狀態(tài)欄和導(dǎo)航欄的顯示隱藏
修改設(shè)置之后,運行恢復(fù)命令有可能顯示仍然不太正常,可以運行 adb reboot 重啟設(shè)備,或手動重啟。
修改設(shè)置的原理主要是通過 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的設(shè)置值。
分辨率
adb shell wm size 480x1024表示將分辨率修改為 480px * 1024px。
恢復(fù)原分辨率命令:
adb shell wm size reset屏幕密度
adb shell wm density 160表示將屏幕密度修改為 160dpi。
恢復(fù)原屏幕密度命令:
adb shell wm density reset顯示區(qū)域
adb shell wm overscan 0,0,0,200四個數(shù)字分別表示距離左、上、右、下邊緣的留白像素,以上命令表示將屏幕底部 200px 留白。
恢復(fù)原顯示區(qū)域命令:
adb shell wm overscan reset關(guān)閉 USB 調(diào)試模式
adb shell settings put global adb_enabled 0恢復(fù):
用命令恢復(fù)不了了,畢竟關(guān)閉了 USB 調(diào)試 adb 就連接不上 Android設(shè)備了。
去設(shè)備上手動恢復(fù)吧:「設(shè)置」-「開發(fā)者選項」-「Android 調(diào)試」。
允許/禁止訪問非 SDK API
允許訪問非 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不需要設(shè)備獲得 Root 權(quán)限。
命令最后的數(shù)字的含義:
| 0 | 禁止檢測非 SDK 接口的調(diào)用。該情況下,日志記錄功能被禁用,并且令 strict mode API,即 detectNonSdkApiUsage()無效。不推薦。 |
| 1 | 僅警告——允許訪問所有非 SDK 接口,但保留日志中的警告信息,可繼續(xù)使用 strick mode API。 |
| 2 | 禁止調(diào)用深灰名單和黑名單中的接口。 |
| 3 | 禁止調(diào)用黑名單中的接口,但允許調(diào)用深灰名單中的接口。 |
狀態(tài)欄和導(dǎo)航欄的顯示隱藏
本節(jié)所說的相關(guān)設(shè)置對應(yīng) Cyanogenmod 里的「擴(kuò)展桌面」。
命令:
adb shell settings put global policy_control <key-values><key-values>可由如下幾種鍵及其對應(yīng)的值組成,格式為 <key1>=<value1>:<key2>=<value2>。
| immersive.full | 同時隱藏 |
| immersive.status | 隱藏狀態(tài)欄 |
| immersive.navigation | 隱藏導(dǎo)航欄 |
| immersive.preconfirms | ? |
這些鍵對應(yīng)的值可則如下值用逗號組合:
| apps | 所有應(yīng)用 |
| * | 所有界面 |
| packagename | 指定應(yīng)用 |
| -packagename | 排除指定應(yīng)用 |
例如:
adb shell settings put global policy_control immersive.full=*表示設(shè)置在所有界面下都同時隱藏狀態(tài)欄和導(dǎo)航欄。
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3表示設(shè)置在包名為 com.package1和 com.package2的應(yīng)用里隱藏狀態(tài)欄,在除了包名為 com.package3的所有應(yīng)用里隱藏導(dǎo)航欄。
總結(jié)
以上是生活随笔為你收集整理的[10] ADB 修改设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [7] ADB 模拟按键/输入
- 下一篇: ajax ssm 页面跳转_SSM用jq