java - adb命令中添加空格

标签 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”之间是否存在空间问题?

如何在命令中添加空格?

最佳答案

问题不在于空间,而是找不到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/

相关文章:

java - 如何在 Android Honeycomb 的操作栏中添加第二个下拉列表?

java - javafx中的按钮颜色变化

java - Jersey 2单例依赖注入(inject)创建多个实例

android - 静态变量是否不受生命周期垃圾收集的影响?

java - 与Android/java中的今天相比,两个日期之间的百分比

java - 如何从 java 控制台运行控制台应用程序?

java - getRuntime().exec 未按预期执行

java - Collections.unmodifyingCollection 和 Collections.unmodifyingSet

android - 在浏览器上工作时触摸设备不工作 [cocos2d-JS]

java - 如何从 Java servlet 运行外部命令?