Мне нужно выполнить некоторые команды оболочки в приложении. Этот код отлично работает в Android 5, но не в Android 7. Вывод отладки: process: Process[pid=13559, hasExited=true, exitcode=1]. Поток ошибок: Permission denied. Как заставить его работать на всех версиях андроида? Есть ли какие-либо изменения в Android между версиями 5 и 7, которые отключают выполнение команд оболочки? Код:
try {
Process process = Runtime.getRuntime().exec("ls -l");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
char[] buffer = new char[5000];
int numRead;
while ((numRead = bufferedReader.read(buffer)) > 0) {
commandOutput.append(buffer, 0, numRead);
}
bufferedReader.close();
process.waitFor();
}
catch (IOException | InterruptedException e) {
e.printStackTrace();
}
return commandOutput.toString();
Вы пытались прочитать поток ошибок?
Спасибо, результат потока ошибок: В доступе отказано. Все еще не знаю, как это исправить




Коды выхода, отличные от 0, означают, что возникла проблема. Прочтите его из потока ошибок.