我已经看到其他解决方案,但没有一个似乎适用。无法打开日志设备'/ dev/log/main':权限被拒绝
我试图读取执行“logcat -d”的进程,并且在标题中收到错误。
我的AndroidManifest.xml包括:
<uses-permission android:name="android.permission.READ_LOGS" />
利用亚行外壳,我可以执行命令就好了。
这是一个代码段:
ProcessBuilder procBuilder = new ProcessBuilder();
procBuilder.redirectErrorStream(true);
procBuilder.command("logcat", "-d");
procBuilder.directory(new File("/"));
Process process = procBuilder.start();
//Process process = Runtime.getRuntime().exec("logcat -d");
process.waitFor();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder log = new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line + "\n");
}
在执行时,我看到的第一行作为标题中的错误,这是所有。
我在网上读到logcat不能在没有su的情况下执行,但是还有大量的代码文章就像这样......工作得很好。
任何其他想法,我可能做错了或可以尝试?
的许可不会对JB +无根的工作。请参阅http://stackoverflow.com/questions/11461650/read-logs-permission-on-jelly-bean-api-16 – Matthew
您是否拥有设备上的root访问权限? – Kakarot
@Matthew谢谢。你可以补充说,作为答案?在这一点上似乎是正确的。 – valheru