
如何配置adb环境,请移步 mac下安装adb环境的三种方式
。
Logcat命令行工具
Logcat 是一个命令行工具,用于转储系统消息日志,包括设备抛出错误时的堆栈轨迹,以及从您的应用使用 Log 类写入的消息。
在 Android Studio 中,您也可以从 Logcat 窗口查看日志消息。这里我们通过 Logcat命令行工具 来查看app输出的log。
先将设备通过usb数据线连接到电脑,通过 adb devices 命令查看是否连接成功:
可以看到我的手机已经连接到adb了。
在终端中输入 adb logcat ,即可以看到设备的所有logcat输出:
不过这明显不是我们想要的,我们需要的是某个app下的logcat输出, Logcat命令行工具 中提供了相应的方式:
这里的 xxx 表示我们目标app对应的 pid 。
如何获取某个app对应的 pid 呢?
可以通过 adb shell dumpsys 包名 获取pid,不过需要我们在手机上 先打开这个app ,因为pid是分配给进程的,进程启动以后才会分配pid。
在最上面的输出中,我们也可以很方便的看到pid:
需要注意的是, pid是分配给进程的,如果app关闭了再重新打开,就会分配一个新的进程,同一个包名对应的pid就会变 。
除了上面的方式,我们还有另一种方式,也需要app处于打开状态:
可以清晰的看到我们目标包名com.tinytongtong.androidstudy的 pid为7948 。
接着使用我们获取到的pid,就可以输出目标app下的log了:
这里输出的logcat是app下所有的log,如果我们要定位具体问题还是远远不够的,还需要支持关键字筛选。
接着我们借助 grep 命令进行筛选,比如说我要搜索的关键字是"Lifecycle":
可以看到这里只输出了符合我关键字的log,任务基本完成。
当然了,如果想把输出结果保存到文件中,也是很方便的,在之前的命令后面添加 >logcat.txt ,之前命令的输出结果就会被重定向到 logcat.txt 文件中。
我们查看通过 cat logcat.txt 即可快速查看 logcat.txt 中的内容。
这里的 >表示覆盖文件内容,如果要追加文件末尾,可以换成 >>。
试试管道cat /usr/local/...../catalina.log | grep username | grep time
more /usr/local/...../catalina.log | grep username | grep time
username 是你的用户名 time是时间,时间格式请参考catalina.log里面的格式
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)