Android получает разрешение на доступ к папке "/data" с помощью Roottools?
Я работаю над Файловым менеджером и хочу получить root-доступ к папке /data. Я хочу создавать и поддерживать объекты File из этого каталога. Как я могу сделать это? Вот что я попробовал до сих пор..
if (RootTools.isRootAvailable()) {
File file = new File("/data");
//here is where the app crashed, and I got a null pointer exception.
} else {
// do something else
}
1 ответ
Rooting позволяет всем установленным пользователем приложениям запускать привилегированные команды, обычно недоступные для устройств в стандартной конфигурации. Рутинг необходим для более сложных и потенциально опасных операций, включая изменение или удаление системных файлов, удаление приложений, установленных на носителе или производителе, и низкоуровневый доступ к самому оборудованию (перезагрузка, управление индикаторами состояния или повторная калибровка сенсорных входов.) Типичный Установка с правами root также устанавливает приложение Superuser, которое контролирует приложения, которым предоставлены права root или superuser.
Из Википедии
Если вы используете Roottools, этого будет достаточно:
if (RootTools.isRootAvailable()) {
// su exists, do something
} else {
// do something else
}
Это простая проверка root, но как только вы запустите этот код, вы увидите приглашение su (если ваше устройство рутовано), и как только вы предоставите доступ к своему приложению, у вас будут права суперпользователя.
PS: Вам может потребоваться изменить права доступа к папке /data для записи.