2012-10-10 33 views
0

我想使用Java执行“adb”命令。 我尝试了如下:在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. 

是否存在的 “亚行设备” 之间的空间中的任何问题?

如何增加命令空间?

回答

3

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

做的这两件事之一:

  • 确保该命令在那里adb.exe所在
  • 的方式,adb.exe在修改PATH(该命令)的地方执行在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(); 
+0

谢谢:)它的工作。 –

0

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