如何在Android中更改时钟频率?

时间:2010-11-21 16:43:20

标签: android linux cpu frequency

我是Android上的软件开发新手。

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

但我找不到一些相关的API或材料。

我想真诚地了解以下两件事。

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

3 个答案:

答案 0 :(得分:11)

ADB中的一些命令

设置州长:

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

以KHz设置频率:

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 

答案 1 :(得分:3)

没有Java API可以更改Android设备的频率。唯一的方法就是用内核弄脏你的手。

答案 2 :(得分:0)

看起来你需要根设备

http://www.pokedev.com/setcpu/