Команда Execute shell не работает в Android 7

Мне нужно выполнить некоторые команды оболочки в приложении. Этот код отлично работает в 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, означают, что возникла проблема. Прочтите его из потока ошибок.

M. Prokhorov 18.10.2018 12:33

Вы пытались прочитать поток ошибок?

Jay 18.10.2018 12:33

Спасибо, результат потока ошибок: В доступе отказано. Все еще не знаю, как это исправить

Pedro Gonzalez 18.10.2018 12:47
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
77
0

Другие вопросы по теме