通过app设置CPU缩放调控器时出错

时间:2013-03-16 10:58:34

标签: android root

我正在创建一个应该设置CPU Scaling Governor的简单Android应用程序。

为实现这一目标,我做了这个功能:

public static void setCurrentGovernor(String governor){
    Process process;
    try{
        String cpufreq_path= "/sys/devices/system/cpu/cpu0/cpufreq";
        String cmd = "echo `"+governor+"` > "+cpufreq_path+"/scaling_governor ";
        process = Runtime.getRuntime().exec(new String[] {"su","-c",cmd});
    } catch(IOException e){
        e.printStackTrace();
    }
}

我的问题是这个功能不起作用,加上超级用户总是提示我输入权限,有没有办法只在第一次应用启动时给它root权限?

这个函数在一个微调器的onitemselectedlistener里面调用,在这个函数之后还有一个从cpufreq文件中获取数据来更新视图,但如果我cat scaling_governor我得到了旧的调控器,那么它就是没有错误的更新功能。

1 个答案:

答案 0 :(得分:1)

这个更加扎实的代码解决了我的问题: Link