Я написал код, который запускает командную строку android и собирает результат.
он выполняет "ls" правильно, но когда я помещаю команду "top -n 1", она ничего не показывает.
это явная проблема? телефон не внедрен, и при использовании "эмулятора терминала" я вижу "верхний" вывод.
вот код:
// ** execute command line and gather the output **//
final StringBuilder log = new StringBuilder();
try{
ArrayList<String> commandLine = new ArrayList<String>();
commandLine.add("top");
commandLine.add("-n1");
Process process = Runtime.getRuntime().exec(commandLine.toArray(new String[0]));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null){
log.append(line);
log.append(", \n");
}
log.append(", \n");
}
catch (IOException e){
}
Спасибо.
Возможно, вам захочется показать некоторые из вашего кода. Как правило, команды, запускаемые с использованием Runtime
, не выполняются в оболочке, поэтому вы можете попробовать что-то вроде "sh -c top -n 1" в качестве параметра prog
.