2012-10-05 82 views
1

我在ICS(4.0.3)上使用logcat和-vtime選項的應用程序。 它讀取使用該代碼的logcat:如何閱讀帶有JellyBean的-vtime選項的完整logcat行?

try { 
    Process process = Runtime.getRuntime().exec("logcat -vtime -d"); 
    BufferedReader bufferedReader = new BufferedReader(
    new InputStreamReader(process.getInputStream())); 
    String line = ""; 

    while ((line = bufferedReader.readLine()) != null) { 
     ... my stuff with this line... 
} 
catch (IOException e) { 
} 

我用「android.permission.READ_CALL_LOG」和「android.permission.READ_LOGS」在我的清單文件,我管理有充分的logcat的。

當我在JellyBean(4.1.1)中使用此代碼時,我的緩衝區只捕獲我的應用程序logcat而不是完整的設備logcat。

我怎樣才能擁有這個完整的logcat?這是另一個許可嗎?

回答

0

JellyBean(4.1.1)不允許第三方應用程序訪問完整的系統logcat。應用程序只能看到自己的記錄行。我認爲你不需要在AndroidManifest.xml中提供READ_LOGS權限(任何應用程序都可以logcat自己的行)。

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/6U4A5irWang

如果你仍然想讀一個完整的logcat你需要root權限的設備,給您的應用程序超級用戶權限。