在 cmd 中过滤给定应用程序的日志不起作用

Filter logs of given application in cmd not working

注:
此问题与 Filter log messages by PID or application package in Android.
重复 但是这个问题没有正确答案而且它已经很老了。

我无法按照接受的答案中的建议对应用代码库进行任何更改,我只能访问应用构建。

根据 Android 文档:https://developer.android.com/studio/command-line/logcat#alternativeBuffers
我们应该能够使用以下命令过滤给定应用程序的日志:
adb logcat --pid=<pid>

--pid= ... Only print logs from the given PID.

但是当我在cmd中输入时出现错误"unrecognized option"。

获取应用程序的 PID 使用:
adb shell ps <app-package-name>

注意:想要一个不单独使用cmd,不使用Android Studio的解决方案。

要使 adb --pid 命令正常工作,您已厌倦捕获 logcat 消息的 device/emulator 至少应为 Android 7.0。否则此命令将不起作用。

如果您的设备 android 7.0 以上,请尝试此命令

adb logcat --pid=19816 *:D

替换您的 pid 值和 * 表示(任何标记):D meas DEBUG 严重性日志消息

如果您的设备是旧版本,您可以根据您的包名称字符串或给定的标签字符串搜索特定的 logcat 消息,例如

adb logcat | findstr <PACKAGENAME OR TAGS>