У меня есть некоторые проблемы. Когда я запускаю команду:Запуск командной строки в unix через Java
openssl md5 "./build/outputs/apk/myApp.apk"
Получаю результат, который мне нужен, поэтому openssl отлично работает. Тогда мой код в Java:
String md5_cmd = "openssl md5 \"./build/outputs/apk/myApp.apk\"";
String md5Str = obj.executeCommand(md5_cmd);
String whichCmd = obj.executeCommand("which openssl"); //For testing executeCommand
System.out.println(md5Str); //Not prints anything
System.out.println(whichCmd); //Prints the result just Fine
private String executeCommand(String command) {
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine())!= null) {
output.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}
return output.toString();
}
Итак, первая команда с «md5_cmd» не показывает какой-либо вывод, хотя, если я запускаю его непосредственно через командную строку его OK. Вторая команда с «whichCmd» работает так, как ожидалось. Вы можете посоветовать?
Пожалуйста, обратите внимание, что этот код работает хорошо под Windows, но не на UNIX – Dim