Fel*_*ann 12 android adb logcat
是否也可以在每一行显示Log的包名?
运用
logcat -v long
确切地将包名称字段(在PID之后)留空.
我想从具有不同标签的特定应用程序中过滤日志,只是想知道是否可能.
Ale*_* P. 13
logcat记录没有"包名称字段".因此没有标准/内置方式来过滤它.
虽然从Android 7.0开始,您可以使用logcat --pid选项与pidof -s命令结合来按二进制/包名称过滤输出:
adb shell "logcat --pid=$(pidof -s <package_name>)"
Run Code Online (Sandbox Code Playgroud)
更换"同'为Linux/MacOS的
小智 7
这是我的剧本.有点生锈但仍在工作.
PID=`adb shell ps | grep -i <your package name> | cut -c10-15`;
adb logcat | grep $PID
Run Code Online (Sandbox Code Playgroud)
实际上我有一个python脚本来添加更多的颜色,并有一个while循环来在重新启动时继续监视该进程,但我认为你会明白这一点.
每个人似乎都指出通过 PID 过滤作为解决方案。忽略这一点。正确的方法是按 UID 进行过滤,因为 UID永久绑定到包名称(它不会在崩溃、升级、重新启动等情况下更改)。
要查找您的包名称的 UID:
adb shell dumpsys package <PACKAGE> | grep userId
Run Code Online (Sandbox Code Playgroud)
它会打印类似以下内容:
userId=10412
Run Code Online (Sandbox Code Playgroud)
然后传递--uid=10412给logcat。
遗憾的是谷歌没有在任何可见的地方记录这一点,我不得不自己找到它。请为可见度点赞。
| 归档时间: |
|
| 查看次数: |
11881 次 |
| 最近记录: |