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 エラー = 2、システムは java.lang.ProcessImpl の java.lang.ProcessImpl.create(Native Method) で指定されたファイルを見つけられません。(不明なソース) は java.lang.ProcessImpl にあります。 .start(Unknown Source) ... さらに 5 個のコマンドの実行に失敗しました
javaから実行しているときにコマンドとして「android」が見つからないようです。この問題を解決するにはどうすればよいですか?