1

我想通过一个用于 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 有效(以防万一您觉得空格引起了问题)

请帮帮我

4

0 回答 0