我正在尝试从我的应用程序目录运行一个shell命令,我得到了#34;工作目录null和环境null。
我在这里看过几篇帖子,但我不太确定从哪里开始。
错误: 运行exec()时出错。命令:[/ data / user / 0 / com.netscout.iperf3_clientls]工作目录:null环境:null
public void startApp() {
StringBuffer output = new StringBuffer();
Process process = null;
String appFileDir = getApplicationInfo().dataDir;
// String commandLine = appFileDir + "/iperf3 -c 129.196.197.116 --forceflush -O3 -Z -P2";
String commandLine = appFileDir + "ls";
try {
process = Runtime.getRuntime().exec(commandLine, null, null);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = reader.readLine())!= null) {
// output.append(line + "/n");
Log.e("Line", String.valueOf(line));
Log.e("output", String.valueOf(output));
}
} catch (IOException e) {
e.printStackTrace();
Log.i("Output", String.valueOf(e));
}
}
答案 0 :(得分:0)
尝试设置要运行的脚本的工作目录。我还建议使用ProcessBuilder
来完成你的工作:
https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html