0
я хочу, чтобы выполнить этот сценарий оболочки:Java не выполнит мой сценарий оболочки
export.run
cd ./AndroidExport/
ant release
с этим Java код:
.....
Runtime shell = Runtime.getRuntime();
Process prozess = null;
String cmd = "sh ./export/android/export.run";
try {
prozess = shell.exec(cmd);
} catch (IOException ioe) {
}
BufferedReader in = new BufferedReader(
new InputStreamReader(prozess.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
.....
Когда я выполнить сценарий оболочки в консоли он компилирует проект андроида, и я получаю этот вывод:
Buildfile: /home/myhome/NetBeansProjects/ITGEditor/export/android/AndroidExport /build.xml
-set-mode-check:
-set-release-mode:
[echo] *************************************************
[echo] **** Android Manifest has debuggable=true ****
[echo] **** Doing DEBUG packaging with RELEASE keys ****
[echo] *************************************************
и многие другие линии, но когда я выполнить его с Явы, он wan't скомпилировать его и консоль Java только напечатать первую строку:
Buildfile: /home/myhome/NetBeansProjects/ITGEditor/export/android/AndroidExport /build.xml
Где проблема? Спасибо!
Посмотрите на [это] (http://stackoverflow.com/questions/8149828/read-the-output-from-java- exec) вопрос. Использует 'ProcessBuilder' и перенаправляет стандартную ошибку на стандартный вывод, возможно, это также поможет вам. – Katona