Мне нужно получить root-доступ для корневых устройств, и мне было интересно, как я могу запросить root-доступ. Мне нужен доступ к файловой системе. Большое спасибо.
Как запросить root-доступ в Android?
comment
Вы ориентируетесь на нативную платформу или пытаетесь сделать это на Java?
- person Keith Layne   schedule 04.09.2011
comment
Я пытаюсь сделать это на Java :-)
- person Michell Bak   schedule 04.09.2011
Ответы (2)
Просто выполните команду su и внутри этой Process у вас будут привилегии суперпользователя:
Process p = Runtime.getRuntime().exec("su");
Полный пример см. в этой записи в блоге.
person
dacwe
schedule
03.09.2011
Итак... Я делаю это до получения информации о каталоге, например о папках и т. д.?
- person Michell Bak; 04.09.2011
Спасибо, попробую! :-)
- person Michell Bak; 04.09.2011
Значит, у рутированных телефонов нет пароля root?
- person Keith Layne; 04.09.2011
@keith Lane: когда вы запускаете
su, запускается приложение Superuser, которое может удовлетворить запрос.
- person dacwe; 04.09.2011
-1 Этот ответ вводит в заблуждение. Опубликованный код абсолютно ничего не даст, так как только процесс, запущенный
su, будет фактически работать от имени пользователя root. Само приложение для Android не переключается на запуск от имени пользователя root. Приведенный здесь код только запускает корневую оболочку, которая немедленно завершает работу из-за отсутствия какой-либо работы.
- person Chris Stratton; 01.06.2013
@ChrisStratton: я четко заявляю, что в этом процессе у вас будут привилегии root. Как это вводит в заблуждение?
- person dacwe; 01.06.2013
В рамках какого процесса? Который умирает, ничего не делая? Как кто-то должен понять это из этого ответа? Вместо этого они думают, что это означает вызывающий процесс. Люди цитируют этот ответ по ошибке в другом месте.
- person Chris Stratton; 01.06.2013
Крис Стрэттон прав, этот ответ переоценен и не совсем отвечает на вопрос.
- person xmen; 09.06.2013
Я получаю Вызвано: java.io.IOException: Невозможно запустить программу su: ошибка = 13, Отказано в доступе. Как я могу настроить свой эмулятор, чтобы получить это разрешение?
- person sadat; 03.04.2020
ПРЕДУПРЕЖДЕНИЕ
ЭТОТ МЕТОД БОЛЬШЕ НЕ ДЕЙСТВИТЕЛЬЕН Начиная с версии 5.0
Большинство корневых устройств используют Superuser или SuperSU. Если вы хотите использовать root-права в своем приложении, вы должны запросить разрешение суперпользователя в манифесте приложения.
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
Для получения более подробной информации вы должны проверить HOW-To SU от Chainfire (автор SuperSU) и изучить пример исходного кода libsuperuser(https://github.com/Chainfire/libsuperuser)
person
liuyix
schedule
08.08.2013
"Due to changes in Android 5.0 Lollipop, this permission has been deprecated and is completely ignored from SuperSU v2.30 onwards" – Как использовать SU
- person Ashish Tanna; 11.03.2015