通过Runtime.getRuntimeexec在前台服务中使用Logcat -f-是什么导致其终止?

问题描述

我有一款壁挂式平板电脑,我为此开发了一款个人应用程序。由于它的壁挂着,所以从我的应用程序中注销一些日志会有些麻烦。

我选择在前台服务中运行logcat -f并将日志保存到平板电脑中,以便以后使用。

我正在使用简单的logcatSaver = Runtime.getRuntime().exec("logcat -f " + logFile);执行它。

通常会在几分钟后停止保存日志。我在执行之前/之后以及通常在前台服务中添加了一些日志记录点,它看起来与它本身与前台服务无关。它上升,保持上升,就像应该的那样。我要补充一点,我的应用程序以及与前景相关的位都可以正常工作。因此不涉及硬崩溃。

出于某种原因,我倾向于考虑使其logcat -f中止。

关于logcat -f为什么很快就会无处中止保存到我的目的地的任何想法吗?

解决方法

根据我的简要阅读,这与固件有关。我正在亚马逊平板电脑上体验到这一点,所以谁知道他们在做哪种调皮。

我对android开发相当陌生,但是暂时我已经通过在其自己的线程中启动logcat -f进程解决了这个问题,而不是通过-f直接转储到文件中,我正在阅读stdout的输出并将其保存到android端的文件中。如果logcat终止,我将重新启动并继续附加到日志文件中。

不是理想的,但是可以工作。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...