0

CPUスケーリングガバナーを設定する必要があるシンプルな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、古いガバナーを取得した場合、これは障害のある更新関数ではありません。

4

1 に答える 1

1

このより堅実なコードは私の問題を解決しました: リンク

于 2013-03-16T12:27:38.343 に答える