1

我正在尝试读取文件“cpuinfo_cur_freq”以检索我的根 Galaxy SII 的当前工作频率。我已经使用了一些这样的代码

    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 shell 上工作)。

我知道的唯一解决方法(在这个问题上花了几天时间之后)是编译一个自定义的 android 图像(你必须在其中更改 su 命令的实现代码)并将其闪存到你的手机上。

如果您这样做,请记住,您手机上的任何应用程序都可以通过执行上述代码来获得 su 权限。

于 2013-10-14T17:08:32.183 回答