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

如何在Android中更改时钟频率?,android,linux,cpu,frequency,Android,Linux,Cpu,Frequency,我是Android上软件开发的新手 我想让这样的应用程序可以在Android中操纵CPU频率 但我找不到相关的API或资料 我真诚地想知道以下两件事。 安卓系统中是否有改变CPU频率的API 如果没有,Linux中是否有一些API 没有JavaAPI来更改Android设备的频率。要做到这一点,唯一的办法就是让内核弄脏你的手。看起来你需要为你的设备设置根目录 ADB中的一些命令 设置调速器: adb shell echo "userspace" > /sys/devices/system/

我是Android上软件开发的新手

我想让这样的应用程序可以在Android中操纵CPU频率

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

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

  • 安卓系统中是否有改变CPU频率的API
  • 如果没有,Linux中是否有一些API

  • 没有JavaAPI来更改Android设备的频率。要做到这一点,唯一的办法就是让内核弄脏你的手。

    看起来你需要为你的设备设置根目录

    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" 
    
    在启用或禁用core之前,必须执行此操作。如果系统重新启动,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频率的等效服务是什么吗。