5

我是 Android 软件开发的新手。

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

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

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

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

3 回答 3

14

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 
于 2014-08-13T21:08:06.493 回答
3

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

于 2010-11-21T16:46:32.913 回答
-2

看起来你需要root你的设备

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

于 2010-11-21T16:48:35.537 回答