Android Change Resolution

在Android系統中,我們可以通過編譯系統檔案來更改Resolution。

必須具有root權限,才能編譯系統檔案。

先取得root權限並remount後,使用adb shell進入Android系統中。

cmd
1
2
3
4
adb root
adb remount
adb shell

Adb 修改方式

Step 1: 更改解析度

1080p

cmd
1
2
echo 1080p60hz > /sys/class/display/mode

720p

cmd
1
2
echo 720p60hz > /sys/class/display/mode

Step 2: 更改視窗大小

當我們執行完步驟一後,會發現畫面會錯亂或是沒有被縮放。
以下為由720p更改為1080p的結果。

原因是因為視窗大小沒有被改變的原因。

更改視窗大小
1080p

cmd
1
2
echo 0 0 1919 1079 > /sys/class/graphics/fb0/window_axis

720p

cmd
1
2
echo 0 0 1279 719 > /sys/class/graphics/fb0/window_axis

Step 3: 更改控制範圍

步驟二執行完畢後,發現畫面有正常顯示了,但是滑鼠的移動範圍依舊為1280x720的位置,而無法正常的移到最下方或最右方。

因此我們必須調整控制範圍。
1080p

cmd
1
2
echo 1920 1080 1920 1080 > /sys/class/graphics/fb1/scale_axis

720p

cmd
1
2
echo 1920 1080 1280 720 > /sys/class/graphics/fb1/scale_axis

以上為使用adb shell進入Android系統來更改Resolution的方式。

程式修改方式

在程式中修改的方式如下:

首先必須先確認Android 系統的su指令位於何處,可能在/system/xbin中或/system/bin中。

使用ProcessBuilder.command的方式來執行。

720p

1
2
3
4
5
6
7
8
9
10
11
12
13
private void change720p() {
try {
ProcessBuilder pb = new ProcessBuilder();
pb.command("/system/xbin/su", "-c", "echo 720p60hz > /sys/class/display/mode").start().waitFor();
pb.command("/system/xbin/su", "-c", "echo 0 0 1279 719 > /sys/class/graphics/fb0/window_axis").start().waitFor();
pb.command("/system/xbin/su", "-c", "echo 1920 1080 1280 720 > /sys/class/graphics/fb1/scale_axis").start().waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

1080p

1
2
3
4
5
6
7
8
9
10
11
12
13
private void change1080p() {
try {
ProcessBuilder pb = new ProcessBuilder();
pb.command("/system/xbin/su", "-c", "echo 1080p60hz > /sys/class/display/mode").start().waitFor();
pb.command("/system/xbin/su", "-c", "echo 0 0 1919 1079 > /sys/class/graphics/fb0/window_axis").start().waitFor();
pb.command("/system/xbin/su", "-c", "echo 1920 1080 1920 1080 > /sys/class/graphics/fb1/scale_axis").start().waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

作者

Nick Lin

發表於

2020-03-09

更新於

2023-01-18

許可協議


評論