1

ルート化された Galaxy SII の現在の動作周波数を取得するために、ファイル「cpuinfo_cur_freq」を読み取ろうとしています。このようなコードをいくつか使用しました

    final Runtime runtime = Runtime.getRuntime();
    try {
        runtime.exec("su"); //or whatever command.
    }

    catch (IOException e) { 
        e.printStackTrace(); 
    }

スーパーユーザーのアクセス許可をアプリに追加しますが、それでもそのファイルにアクセスできません。これがエラーです

W/System.err(5295): java.io.FileNotFoundException: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq: オープンに失敗しました: EACCES (許可が拒否されました)

私たちを手伝ってくれますか ?

4

1 に答える 1

1

ルート化された電話でも、「su」コマンドはアプリにスーパーユーザー権限を付与しません (adb シェルで動作する場合でも)。

私が知っている唯一の回避策 (この問題に数日費やした後) は、カスタム android イメージをコンパイルし (su コマンドの実装のコードを変更する必要があります)、これを携帯電話にフラッシュすることです。

その場合、上記のコードを実行するだけで、携帯電話のアプリが su 権限を取得できることに注意してください。

于 2013-10-14T17:08:32.183 に答える