Су разрешение много раз спрашивал

1

Я хотел бы сначала представить свою ситуацию, я Runtime.getRuntime().exec(...) твикер ядра, который передает различные команды оболочки, используя Runtime.getRuntime().exec(...), он хорошо работает, но проблема в том, что разрешение su запрашивается каждый время Я запускаю команду оболочки с su в ней.

Я хочу, чтобы приложение запрашивало разрешение только один раз, а затем выполняло все команды, не запрашивая su снова. В настоящее время мое приложение имеет около 30 строк с командами su, поэтому пользователь моего приложения должен разрешить su доступ 30 раз, чтобы все работало.

  • 0
    Вы не можете выполнить свое приложение как SU? И выполнять команды без этого?
  • 0
    Попросите парней из «superuser.com» рассказать вам о sudo ... или каком-либо другом решении. Но это не по теме здесь.
Показать ещё 1 комментарий
Теги:
su

2 ответа

0
Лучший ответ

Я решил это, используя тот же интерфейс для моих корневых вызовов в Async Task. Вначале я использовал методы индивидуально, как и когда требуется во Фрагменте, что вызвало необходимость повторного запроса разрешений. Затем Bu, изменив его на один стандартный метод exec и используя его для выполнения системных вызовов каждый раз. Он исправил ошибку.

2

Один из подходов, который может работать, заключается в том, чтобы запустить оболочку с su и передать ваши различные команды в stdin, как мы надеемся, в результате процесса корневой оболочки. Это означало бы, что su используется только один раз.

Код для этого был рассмотрен много раз здесь в контексте людей, желающих запускать команды с аргументами, которые не могут быть переданы в командной строке su, и поэтому вместо этого должны быть переданы в результирующий процесс.

  • 0
    Я решил это, ребята ..! Спасибо любыми способами: D
  • 0
    Так как ты решил это? Опубликуйте свой ответ, чтобы другие могли извлечь из него урок.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню