2014-02-25 130 views
1

我已經看到其他解決方案,但沒有一個似乎適用。無法打開日誌設備'/ 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的情況下執行,但是還有大量的代碼文章就像這樣......工作得很好。

任何其他想法,我可能做錯了或可以嘗試?

+1

的許可不會對JB +無根的工作。請參閱http://stackoverflow.com/questions/11461650/read-logs-permission-on-jelly-bean-api-16 – Matthew

+0

您是否擁有設備上的root訪問權限? – Kakarot

+0

@Matthew謝謝。你可以補充說,作爲答案?在這一點上似乎是正確的。 – valheru

回答

2

它歸類於前10名壞權限和豆形軟糖中關閉,從谷歌回答:

丹賈沛年:讀系統日誌。現在,我對你們有壞消息。如果 您還沒有看過我們的其他演示文稿,請閱讀系統日誌 實際上已經不存在了。您沒有更多的讀取系統日誌,您可以獲得 。但是,您可以在未經許可的情況下爲 讀取適用於您自己的應用程序的系統日誌。所以好消息是不會讓人毛骨悚然的 通過打開他們的讀取系統日誌 權限來監視用戶正在做什麼。同時,如果我們在Google Play上的崩潰記錄和所有 內容不夠用,您仍然可以獲得有用的日誌 ,以幫助您進行調試。

編號:http://youtu.be/WDDgoxvQsrQ?t=22m3s

相關問題