我已經看到其他解決方案,但沒有一個似乎適用。無法打開日誌設備'/ 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