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
相關文章
相關標籤/搜索