注:android 4.3引入的wm工具
wm指令及用法:
系統說明:
usage: wm [subcommand] [options]
wm size [reset|wxh]
wm density [reset|density]
wm overscan [reset|left,top,right,bottom]
wm size: return or override display size.
wm density: override display density.
wm overscan: set overscan area for display.
解釋:wm是高通平台(mtk平台類似的指令為am,其他平台沒接觸,不太清楚)下對手機分辨率、像素密度、顯示區域進行設定的指令。其參數比較少,下面逐條介紹一下該指令的用法。
1、wm size [reset|wxh]
[]内的是可選項。單純運作wm size指令将會得到lcd本身設定的顯示分辨率。如下圖:
wm size w x h指令是按witch x hight 設定分辨率。如果分辨率設定的過大,圖示會變大,反之則變小。設定了分辨率以後執行wm size指令,可以看到lcd本身的分辨率及overwrite的分辨率。如下圖:
wm size reset 指令是将分辨率設定為lcd原始分辨率。
2、 wm density [reset|density]
該指令的用法類似于wm size 指令,作用是讀取、設定或者重置lcd的density值。density值即lcd的ppi.
3、 wm overscan [reset|left,top,right,bottom]
該指令用來設定、重置lcd的顯示區域。四個參數分别是顯示邊緣距離lcd左、上、右、下的像素數。例如,對于分辨率為540x960的螢幕,通過執行 指令wm overscan 0,0,0,420可将顯示區域限定在一個540x540的矩形框裡。
了解wm可以解決lcd圖示大小顯示不正常的問題。但是這些設定都是臨時的,适合于調試來确定問題和解決辦法。永久性的修改可以參照以下兩個辦法(均在高通平台下):
法一:
2> adb root //提示read only filysystem時執行此指令擷取root權限,
adb remount
adb pull /system/build.prop d:\
在build.prop末尾添加一行 ro.sf.lcd_density=240
adb push d:\build.prop /system/
adb shell
cd /system/
chmod 644 build.prop 沒有修改權限将導緻手機起不來
法二: 直接修改system.prop
y:\xxxx\device\qcom\xxxx\system.prop
ro.sf.lcd_density=240 改這個值,然後重新編譯system.img