我想使用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”之间是否存在空间问题?
如何在命令中添加空格?
最佳答案
问题不在于空间,而是找不到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();
关于java - adb命令中添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12814103/