Androidでのソフトウェア開発は初めてです。
AndroidでCPU周波数を操作できるSetCPUのようなアプリを作りたいです。
しかし、関連する API や資料は見つかりませんでした。
以下の2点を心から知りたいです。
- Android で CPU 周波数を変更する API はありますか?
- そうでない場合、Linux にはいくつかの API がありますか?
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
Android デバイスの周波数を変更する Java API はありません。これを行う唯一の方法は、カーネルで手を汚すことです。
デバイスをルート化する必要があるようです