如何在 java 代码中使用 logcat 命令?

Posted

技术标签:

【中文标题】如何在 java 代码中使用 logcat 命令?【英文标题】:how to use logcat commands within java code? 【发布时间】:2015-05-05 04:13:39 【问题描述】:

我想在我的 java 代码中使用“adb logcat -d > C:\Users\lenovo 01\Documents\android\sdk\platform-tools”命令行命令。这直接在命令提示符下工作,但在 java 代码中不起作用。 例如:

pb = new ProcessBuilder("adb", "logcat", "-d", ">", "C:\\android\\cellograf.txt");
pc = pb.start();
pc.waitFor();       
System.out.println("written");

当我执行此操作时,没有任何反应。它只写入“已写入”,但文件为空。当我在命令提示符下运行此命令时,它可以正常工作并将所有 logcat 输出写入该文件。我做错了什么?

【问题讨论】:

【参考方案1】:

将输出重定向到文件是命令解释器的一个功能;这不是过程本身可以执行的事情。尝试将cmd /c 附加到命令的开头:

pb = new ProcessBuilder("cmd", "/c", "adb", "logcat", "-d", ">", "C:\\android\\cellograf.txt");

【讨论】:

是的,效果很好。非常感谢你! Linux系统怎么样?我面临同样的情况,但我使用的是 Linux 操作系统。

以上是关于如何在 java 代码中使用 logcat 命令?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java代码中调用adb命令

Android中如何通过logcat追踪生命周期事件?

如何抓取android logcat日志

如何把android开发的时候把LogCat里的内容复制出来?如果不能复制,要是转储到文件中请说明详细步骤?

终端中查看某个app的logcat输出,支持关键字筛选,支持输出到文件

adb - logcat