在安卓系统中如何改变时钟频率?

7

我是一个新手,想在Android上进行软件开发。

我想做一个像SetCPU这样的应用程序,可以在Android中操作CPU频率。

但是我找不到相关的API或资料。

我真诚地想知道以下两件事情。

  1. 是否有API可以更改Android中的CPU频率?
  2. 如果没有,在Linux中是否有一些API?

5
如果你不知道如何做这件事,请,亲爱的上帝,不要去尝试。 - Falmarri
3个回答

16

ADB中的一些命令

设置调度程序:

adb shell echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

设置频率(单位:千赫兹):

adb shell su -c "echo "702000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
//min frequency
adb shell su -c "echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"  
//MAX frequency
adb shell su -c "echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq" 

获取当前CPU频率:

adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

显示可用的管理器:

adb shell su -c "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"

禁用覆盖CPU在线文件的服务:

adb shell su -c "stop mpdecision" 

在启用或禁用核心之前,进行这项操作是必要的。如果系统重新启动,则会重新启动 mp 决策。

禁用核心:

adb shell su -c "echo "0" > /sys/devices/system/cpu/cpu3/online"
如果那样不起作用:
& chmod 444 /sys/devices/system/cpu/cpu1/online 

在Nexus 5X、Google Pixel和Nexus 6P上,没有像mpdecision这样的服务。您是否知道在这些设备上覆盖CPU频率的等效服务是什么? - Arpit Aggarwal

3

没有Java API可以改变Android设备的频率。唯一的方法是亲自动手修改内核。


-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接