防止应用重新启动时清除 Android logcat 日志

70

我正在使用 Android Studio 1.5.1,它会在应用程序重新启动期间清除 logcat 缓冲区。现在我的应用程序崩溃了,重新启动后我看不到崩溃前发生的事情。

有没有一种方法可以让 Android Studio 中的 logcat 在应用程序重新启动时不清除?我想增加 logcat 缓冲区大小,但是在当前版本的 AS 中找不到该选项。

2个回答

131

我曾经遇到同样的问题,但这似乎更像是一个功能而不是一个错误:

在AndroidStudio中,默认情况下Logcat窗口的设置似乎是"仅显示选定的应用程序"(Logcat窗口右上角)...它查看所选进程的日志(默认情况下为您当前启动的进程)。因此,在测试期间应用程序崩溃时,该进程就会消失,因此过滤器会清除日志。

相反,请选择“编辑过滤器配置...”,并为您的应用程序设置一个过滤器,例如:

  • FilterName: MyApp
  • PackageName: com.example.myapp (<< 请替换为您的应用程序的包名)

然后将该过滤器选择为将来运行的过滤器。即使应用程序崩溃,这应该也能让日志保留在那里。

重复


4
有没有办法防止应用程序重新启动? - Davide
3
《The Great Hack》我认为。 - Noor Hossain
虽然这是一个解决方案,但我有一种感觉,在他们改变某些东西之前,清除日志不是默认设置。我一直认为这是因为我在使用Crashlytics,Crashlytics以某种方式拦截了崩溃并将输出重定向发送到Google,而在此过程中,它清除了日志。问题是,如果我让应用程序再次崩溃,那么日志就不会被清除,所以我通常会重复崩溃条件以访问日志(非常烦人)。 - Daniel F

10
在设备的开发者选项中,找到“始终显示崩溃对话框”的选项,并启用它:

在开发者选项中启用“始终显示崩溃对话框”

这样做后,应用程序将不会重新启动,并且进程(在其死亡之前)的日志不会在Android Studio中被清除。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接