Java 在adb命令中添加空间

Java 在adb命令中添加空间,java,android,runtime.exec,Java,Android,Runtime.exec,我想用Java执行“adb”命令。 我做了如下尝试: Process p = Runtime.getRuntime().exec(new String[]{"cmd","/c","adb devices"}); 但是,我得到以下错误p.getErrorStream(): “adb设备”之间是否存在空间问题 如何在命令中添加空格?问题不在于空格,而在于没有找到adb(因为它不在路径上) 做以下两件事之一: 确保命令在adb.exe所在的位置执行,或 修改PATH(针对该命令),使adb.exe

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

Process p = Runtime.getRuntime().exec(new String[]{"cmd","/c","adb devices"});
但是,我得到以下错误
p.getErrorStream()

“adb设备”之间是否存在空间问题


如何在命令中添加空格?

问题不在于空格,而在于没有找到
adb
(因为它不在路径上)

做以下两件事之一:

  • 确保命令在
    adb.exe
    所在的位置执行,或
  • 修改
    PATH
    (针对该命令),使
    adb.exe
    位于
    PATH
    中提到的目录中
虽然这两个都可以使用,但我建议使用,因为它有一个更好/更简单的API

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

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

问题不在于空间,而在于没有找到
adb
(因为它不在路径上)

做以下两件事之一:

  • 确保命令在
    adb.exe
    所在的位置执行,或
  • 修改
    PATH
    (针对该命令),使
    adb.exe
    位于
    PATH
    中提到的目录中
虽然这两个都可以使用,但我建议使用,因为它有一个更好/更简单的API

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

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

最有可能的问题是您的%PATH%(或缺少该路径)——它似乎正确地分隔了参数。您可能会尝试使用adb可执行文件的绝对路径

最有可能的问题是您的%path%(或缺少该路径)-似乎它正确地分隔了参数。您可以尝试使用adb可执行文件的绝对路径