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

zep*_*rus 5 linux cpu android frequency

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

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

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

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

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

Sid*_*lho 12

ADB中的一些命令

设置州长:

adb shell echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Run Code Online (Sandbox Code Playgroud)

以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" 
Run Code Online (Sandbox Code Playgroud)

获取当前CPU频率:

adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
Run Code Online (Sandbox Code Playgroud)

显示可用的州长:

adb shell su -c "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"
Run Code Online (Sandbox Code Playgroud)

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

adb shell su -c "stop mpdecision" 
Run Code Online (Sandbox Code Playgroud)

在启用或禁用核心之前,必须执行此操作.如果系统重新启动,则重新启动mp决策.

禁用核心:

adb shell su -c "echo "0" > /sys/devices/system/cpu/cpu3/online"
Run Code Online (Sandbox Code Playgroud)

如果这不起作用:

& chmod 444 /sys/devices/system/cpu/cpu1/online 
Run Code Online (Sandbox Code Playgroud)


Oct*_*ean 3

没有 Java API 可以更改 Android 设备的频率。做到这一点的唯一方法就是亲自接触内核。