Ich habe festgestellt, dass ich bei der Verwendung von Logcat mit Eclipse mit ADT für Android auch Meldungen von vielen anderen Anwendungen erhalte. Gibt es eine Möglichkeit, dies zu filtern und nur Meldungen von meiner eigenen Anwendung anzuzeigen?
Antworten
Zu viele Anzeigen?Wenn Sie Folgendes verwenden Eclipse drücken Sie die grünes + Zeichen im logCat und geben Sie Ihren Paketnamen (com.example.yourappname) in das Feld nach Anwendungsname Box. Wählen Sie außerdem einen beliebigen Namen, der Ihnen gefällt, in Filter Name und klicken Sie auf OK. Sie sehen nur Meldungen, die sich auf Ihre Anwendung beziehen, wenn der soeben hinzugefügte Filter im linken Bereich des LogCat ausgewählt wird.
Sie können den folgenden Befehl verwenden, um ausführliche Protokolle für Ihr Anwendungspaket abzurufen
adb logcat com.example.myapp:V *:S
Auch wenn Sie Ihre Anwendung ausgerollt haben und Fehlerprotokolle von der veröffentlichten Anwendung abrufen möchten, können Sie den folgenden Befehl verwenden.
adb logcat AndroidRuntime:E *:S
Zusätzlich zu Tom Mulcahy Wenn Sie auf der Windows-Konsole nach PID filtern wollen, können Sie eine kleine Batch-Datei wie diese erstellen:
@ECHO OFF
:: find the process id of our app (2nd token)
FOR /F "tokens=1-2" %%A IN ('adb shell ps ^| findstr com.example.my.package') DO SET PID=%%B
:: run logcat and filter the output by PID
adb logcat | findstr %PID%
Diese Frage zielt offensichtlich auf die Verwendung von Logcat von außerhalb des Entwicklergeräts, wenn Sie jedoch die Logcat-Ausgabe anzeigen möchten auf das Gerät (programmatisch), benötigen Sie nur dies:
Runtime.getRuntime().exec("logcat " + android.os.Process.myPid() + " *:D");
Die *:D
am Ende filtert alle Meldungen unterhalb der Debug-Protokollebene heraus, aber Sie können das auch weglassen.
Um die Ausgabe z.B. in eine TextView zu leiten, siehe z.B. これ .