2017-04-27 3 views
0

すべてのプロセスのLogCatメッセージを読むことはできますか?私はこれを実行Android LogCatプログラムによって - すべてのプロセス

(私たちは「フィルター設定」オプションを選択しない場合にアンドロイドスタジオのように):

File filename = new File(Environment.getExternalStorageDirectory() + "/mylog.txt"); 
    if (filename.exists()) { 
     filename.delete(); 
    } 

    String cmd = "logcat -f " + filename.getAbsolutePath(); 
    Runtime.getRuntime().exec(cmd); 

それだけで私のアプリに接続ログを書き込みます。

答えて

0

アンドロイドバージョン4.1以降から、他のアプリケーションのlogcatを読むことはできません。参考までにthisを参照してください。あなたは<uses-permission android:name="android.permission.READ_LOGS" />許可を与える必要が4.1

Runtime.getRuntime().exec("logcat -c").waitFor(); 
Process process = Runtime.getRuntime().exec("logcat -v long *:*"); 
BufferedReader reader = 
new BufferedReader(new InputStreamReader(process.getInputStream())); 
while (true) { 
    String nextLine = reader.readLine(); 
    if (!nextLine.contains("LogWatcher-D")) { 
     Log.w("LogWatcher-D", "See: " + nextLine); 
    } 
} 

より

バージョン下のため、他のアプリケーションのログを読み取ること。

Reference

明確なアイデアを得るために、あなたはthis

を参照することができます
関連する問題