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



我想在我的java代码中使用"adb-logcat-d>C:\Users\lenovo01\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输出写入该文件。我做错了什么?

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

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

最新更新