从 Java 调用 Apache Cordova CLI

Call Apache Cordova CLI from Java

我希望 Apache Cordova CLI 被 Java 进程调用,但不幸的是 Java 进程不会等到它完成。

我是这样称呼它的:

StringBuffer sb = null;
String cmd = "cd /location/generated && cordova create MyNewApp"

    try {
        Process p = Runtime.getRuntime().exec(cmd);
        p.waitFor();

        BufferedReader reader =
                new BufferedReader(new InputStreamReader(p.getInputStream()));
        sb = new StringBuffer();
        String line = "";

        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

我见过很多解决方案,据说 "waitFor()" 可以解决问题,但不幸的是不适合我。我已经尝试始终阅读和比较 cordova cmd 生成的最后一行代码并在之后完成,但这不是一个好方法。你有什么建议吗?

已解决: Cmd 看起来像这样 "cordova create /path/to/generated/app/ Hello World"

请注意,在调用 cmd 之前路径必须存在