【问题标题】:Error in executing "android" specific shell command from java program in windows从 Windows 中的 java 程序执行“android”特定 shell 命令时出错
【发布时间】:2013-07-01 13:20:26
【问题描述】:

我正在尝试在 java 中执行以下命令。

android update project -p d:\code\android\projects\Testproject2

它在命令行中执行良好,完全符合预期。

但是,当我想从 java 程序中执行这个命令时。它给出了错误。

我的 java 程序代码。

String cmd = "android update project -p d://code//android//projects//Testproject2";

    try {
        Process p = Runtime.getRuntime().exec(cmd);
        BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));

        while(true){
            String line = b.readLine();
            if(line == null)break;
            System.out.println(line);
        }


    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        System.out.println("command execution failed");
    }

以及我在控制台中看到的错误:

java.io.IOException: Cannot run program "android": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.test.commandline.Main.main(Main.java:24)

原因:java.io.IOException: CreateProcess error=2, 系统找不到指定的文件 在 java.lang.ProcessImpl.create(本机方法) 在 java.lang.ProcessImpl.(未知来源) 在 java.lang.ProcessImpl.start(未知来源) ... 5 更多 命令执行失败

从 java 执行时似乎找不到“android”作为命令。如何解决这个问题?

【问题讨论】:

    标签: android shell command-line cmd exec


    【解决方案1】:

    尝试将其添加到您的 cmd 命令并在 Android 之前,使其看起来像这样:

     String cmd = "cmd /c start  android update project -p d://code//android//projects//Testproject2";
    

    【讨论】:

    • 我遇到了同样的问题.. 但您的解决方案似乎对我不起作用 - 我使用的是 Ubuntu。有任何想法吗?谢谢。
    猜你喜欢
    • 2015-07-16
    • 1970-01-01
    • 2017-03-09
    • 2023-03-06
    • 1970-01-01
    • 2011-03-04
    • 2014-01-22
    相关资源
    最近更新 更多