2015-09-23 3 views
6

のadbシェルログカット各行にログのパッケージ名を表示することはできますか?パッケージ名が

logcat -v長い

を使用
は空(PID後)正確にパッケージ名のフィールドを残します。
異なるタグを持つ特定のアプリケーションからログをフィルタリングしたいのですが、それが可能かどうか疑問です。

答えて

4

logcatレコードには「パッケージ名フィールド」がありません。したがって、フィルタリングする標準/組み込みの方法はありません。

のAndroid 7.0以降にバイナリ/パッケージ名で出力をフィルタリングするpidof -sコマンドと組み合わせlogcat --pidオプションを使用できますが

は:

adb shell logcat --pid=$(pidof -s <package_name>) 
+0

私はMarshmallowベースのデバイスでは動作しません: '$ adb -d shell logcat --pid = 6693 認識できないオプション - 使用法:logcat [options] [filterspecs]' ... ' --pid'は有効なオプションです。 – Jules

+0

@Jules、 'logcat --pid'はNougatに導入されました –

6

これは私のスクリプトです。少し錆びているが、まだ働いている。

PID=`adb shell ps | grep -i <your package name> | cut -c10-15`; 
adb logcat | grep $PID 

は、実際に私はそれを再起動しますとき、そのプロセスの監視を維持するために多くの色を追加するためのPythonスクリプト、およびwhileループを持っていますが、私はあなたのポイントを得ると思います。

+0

私は実際にこの使い方を知らないのです。コマンドラインからスクリプトを起動する方法も、Androidアプリでこれを使う方法もわかりません実際にこれが欲しい/必要がある)。私は現在、Runtime.getRuntime()で実行しています。exec( "su -c logcat -d -v long");私はパッケージ名を取得しません。 –

+0

「カット-c10-15」は何ですか?ありがとう。 –

関連する問題