我想通过一个用于 android 的 java 程序运行一些 shell 命令。该应用程序只接受一个命令,在 shell 上执行它并返回结果。
我用这个:
进程 p=Runtime.getRuntime().exec(in); p.waitFor();
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
字符串 line=reader.readLine();
输出=线;
而(线!=空){
output = output +"\n"+ line; //System.out.println(line);
line=reader.readLine();
}
“in”是来自文本框的输入。
1> 我观察到作为 android 一部分的大多数命令都适用于上述语句。但是我也安装了busybox来获取其他linux命令。但是这些命令都没有运行。每次它只返回一个 NULL 结果。我在 /system/xbin 和 /system/bin 中都安装了busybox(在将 /system 分区重新挂载为读/写之后)
2> 其次,如果我在 ls /sdcard 之类的特定位置执行 ls,它会将 /sdcard 作为命令。但是 ls -l 有效(以防万一您觉得空格引起了问题)
请帮帮我