3

次のように、コルドバ プロジェクトの ant ビルドを作成しました。

<project default="build">
    <target name="init-android">
        <exec executable="cordova">
            <arg value="platform"/>
            <arg value="add"/>
            <arg value="android"/>
        </exec>
        <exec executable="cordova">
            <arg value="build"/>
        </exec>
    </target>
</project>

しかし、私はこのエラーが発生しました:

C:\path_to_project\build.xml:3: 実行に失敗しました: java.io.IOException: プログラム "cordova" を実行できません: CreateProcess エラー = 2、システムは java.lang.ProcessBuilder.start(ProcessBuilder. java:1029) で java.lang.Runtime.exec(Runtime.java:615) で org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Jav a13CommandLauncher.java:41) で

コマンド プロンプトから問題なく cordova コマンドを実行できます。

JAVA_HOME = C:/Program Files/Java/jdk1.7.0_10/ ANT_HOME = C:\Program Files\Java\apache-ant-1.9.2 NODEJS_HOME = C:\Program Files\nodejs

そして、それらはすべて私の道にあります。うまくいかない理由がわかりません。助けてください。ありがとう

4

1 に答える 1

5

一般に、Java アプリケーションを使用して Windows でプログラムを起動する場合cmd.exe、実際に実行したいプログラムのフル パスを実行して渡す必要があります。これにより、システム環境変数などを期待どおりに設定できます。これを試して:

<project default="build">
    <target name="init-android">
        <exec executable="cmd.exe">
            <arg value="/C"/>
            <arg value="cordova"/>
            <arg value="platform"/>
            <arg value="add"/>
            <arg value="android"/>
        </exec>
        <exec executable="cmd.exe">
            <arg value="/C"/>
            <arg value="cordova"/>
            <arg value="build"/>
        </exec>
    </target>
</project>

それでも問題が解決しない場合は、cordova のフル パスを指定してください。環境変数は、定義されている場合に機能するはずです。

于 2013-10-03T13:09:23.997 に答える