0

次のコードを使用して、Android で logcat を読み取ります。

Process process = Runtime.getRuntime().exec("logcat -v time");

logcat ファイルのサイズが大きいため、logcat メッセージをフィルタリングする必要があります。そこで、次のコードを使用して logcat をフィルタリングしました。

Process process = Runtime.getRuntime().exec("logcat -v time | grep -v -E \"(libloc|RPC)\"");

(libloc|RPC) はタグです。

しかし、Grep コードは Android では機能しません。誰でもこれで私を助けてもらえますか?

4

2 に答える 2

1

grep が機能しない場合 (logcat UI で regexp を直接使用しています)、独自の grep を行ごとに読み取ることができます。

Process process = Runtime.getRuntime().exec("logcat -v time");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));

while ((line = bufferedReader.readLine()) != null) {
  if(line.matches("^.*(libloc|RPC).*$")) {
     //code
  }
}

参照

于 2013-07-03T13:51:47.233 に答える
-1

答えがわかりました。grep コマンドを使用するには、ファイル名を使用する必要があります。

Runtime.getRuntime().exec("logcat -v time -f "+logCatFile.getAbsolutePath()+ " libloc:S RPC:S")
于 2013-07-04T04:07:09.277 に答える