Я тестировал его на корневых AVD с уровнями API 26, 27, 31, 32.
Хотя выполнение команд через терминал вручную недопустимо. нет проблем (также программно на API 26/27), похоже, нет доступа к файловой системе на API 31/32, когда я вызываю те же команды из приложения.
Хотя «whoami» явно возвращает «root»< /p>
Итак:
Код: Выделить всё
//Fails
val command = "su -c 'touch /data/something.../
//Succeeds
val cmd = "su -c 'touch /storage/something.../
//Also succeeds
val cmd = "su -c 'ps -ef'
Вероятно, это не проблема с разрешением. Просто мое приложение не видит всю файловую систему. Приведенная выше команда «su -c 'touch /data/something.../ возвращает «Нет такого файла или каталога». Это не тот случай, когда вы запускаете команду с терминала
Подробнее здесь: https://stackoverflow.com/questions/786 ... tem-access