我正在尝试读取文件“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:open failed:EACCES(Permission denied)
你能帮帮我吗?
答案 0 :(得分:1)
即使在root手机上,“su”命令也不会授予应用程序超级用户权限(即使它适用于adb shell)。
我知道的唯一解决方法(在这个问题上花了几天时间)就是编译一个自定义的android映像(你必须更改su命令的执行代码)并将其刷新到你的手机。
如果你这样做,请记住,只要执行上述代码,手机上的任何应用都可以获得su权利。