如何获得 logcat 崩溃

How to get logcat crashes

这里是新手logcat的问题,我相信这是众所周知的,但找不到答案。对不起。

我想使用 logcat 让我的应用 MyApp 的用户通过电子邮件向我发送崩溃报告,显然我不知道它们会出现在哪里。我只想为我的应用程序打印警告及以上内容。

我阅读了 the documentation,并了解到,要仅针对包裹打印 logcat,我应该执行以下操作:

 logcat -d -v time MyApp:W *:S

但这不起作用:这仅适用于标签,不适用于应用程序名称。

我看到有人建议像

logcat -d -v time *:W | grep MyApp

但这也不起作用:错误消息,正是我感兴趣的,不在所有行中打印 MyApp 名称。

我也试过了

logcat -d -v time --pid=$(pidof -s MyApp) *:W 

但这也不起作用,因为应用程序已经崩溃,所以它不是 运行,它会向我发送静止 运行 MyApp PID 的日志。

我最后做的是只打印最后 20 分钟的所有内容:

long timesinceepoch = System.currentTimeMillis()/1000 - 1200;
Process process = Runtime.getRuntime().exec("logcat -d -v time -t "+timesinceepoch+".0 *:W");

当然,我仍然收到很多垃圾和大文件。

那么如何将 MyApp 标签添加到 ALL MyApp 的 logcat 日志?

编辑: 实际上,在 Android Studio 中 MyApp 出现在 logcat 中,并且有一个选项可以显示 logcat 对于单个应用程序。 AndroidStudiologcat和adblogcat不一样吗??

这完全没有必要,因为当应用调用 logcat 时,它只会记录调用应用的日志。参见 this(感谢 @jake-lee!)。