在adb命令中添加空格

时间:2012-10-10 07:25:34

标签: java android runtime.exec

我想使用Java执行“adb”命令。 我尝试了如下:

Process p = Runtime.getRuntime().exec(new String[]{"cmd","/c","adb devices"});

但是,我收到以下错误p.getErrorStream()

'adb' is not recognized as an internal or external command,operable program or batch file.

“adb devices”之间是否存在空格问题?

如何在命令中添加空格?

2 个答案:

答案 0 :(得分:3)

问题不在于空间,而是找不到adb的事实(因为它不在路径上)。

做这两件事之一:

  • 确保该命令在adb.exe所在的位置
  • 执行
  • 修改PATH(针对该命令)的方式adb.exe位于PATH中提及的目录中。

虽然Runtime.exec()可以实现这两个目标,但我建议使用ProcessBuilder,因为它有更好/更简单的API。

例如,要修改执行命令的路径,请执行以下操作:

ProcessBuilder pb = new ProcessBuilder("cmd","/c","adb devices");
pb.directory(new File("c:\\path\\to\\android\\platform-tools\\");
pb.start();

答案 1 :(得分:0)

最有可能的问题出现在你的%PATH%(或缺少它)中 - 似乎它正确地分隔了参数。 YO可能会尝试使用adb可执行文件的绝对路径