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?Als Variante können Sie ein Skript eines Drittanbieters verwenden PID Katze von Jake Wharton. Dieses Skript hat zwei große Vorteile:
- zeigt Protokolleinträge für Prozesse aus einem bestimmten Anwendungspaket
- Farbe logcat
Aus der Dokumentation:
Während der Anwendungsentwicklung möchten Sie oft nur die von Ihrer Anwendung stammenden Protokollmeldungen anzeigen. Da sich die Prozess-ID jedes Mal ändert, wenn Sie die Anwendung auf dem Telefon bereitstellen, ist es leider eine Herausforderung, nach dem Richtigen zu suchen.
Dieses Skript löst dieses Problem, indem es nach Anwendungspaketen filtert.
Um auf die Logcats zugreifen zu können, müssen Sie zunächst das ADB-Kommandozeilentool installieren. Das ADB-Kommandozeilen-Tool ist Teil der Android-Studio-Plattform-Tools und kann heruntergeladen werden von これ . Danach müssen Sie den Pfad/die Umgebung festlegen variabel für adb-Tools. Jetzt können Sie auf logcat von eclipse terminal/ intellij terminal oder mac terminal zugreifen, falls Sie ein macbook verwenden.
adb logcat
: Um das gesamte Logcat zu erhalten.
adb shell pidof 'com.example.debug'
: Um die Prozess-ID Ihrer Anwendung zu erhalten.
adb logcat pid=<pid>
: Um logcat speziell für Ihre Anwendung zu erhalten.
adb logcat pid=<pid>|grep 'sometext'
: Zum Filtern von Logcat auf der Grundlage eines bestimmten Textes.
Für weitere Informationen über das Filtern von Logcats lesen Sie este .
Mit ADT v15 für Eclipse können Sie einen Anwendungsnamen angeben (der eigentlich der Paketwert in Ihrer androidmanifest.xml ist).
Ich finde es toll, dass ich nach Anwendungen filtern kann, aber das neue Logcat hat einen Fehler mit dem Autoscroll. Wenn man ein wenig nach oben scrollt, um sich frühere Logs anzusehen, scrollt es in ein paar Sekunden automatisch wieder nach unten. Es scheint so, als ob das Scrollen von 1/2 des Protokolls nach oben verhindert, dass es wieder nach unten springt, aber das ist oft nutzlos.
EDIT: Ich habe versucht, einen Anwendungsfilter über die Befehlszeile anzugeben - ohne Erfolg. Wenn jemand herausfindet, wie man den automatischen Bildlauf stoppen kann, lassen Sie es mich bitte wissen.