問題があります。Java経由でUNIXでコマンドラインを実行しています
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();
}
だから、私はそのOKコマンドラインから直接実行する場合も、任意の出力を示していない「md5_cmd」との最初のコマンド。 "whichCmd"の2番目のコマンドは期待通りに機能します。アドバイスできますか?
を使用して実行されなければならないの引数を持つコマンド、このコードはUNIX上でWindowsでうまく動作しますが、ではありません – Dim