Получение root-прав для Android-приложения
Я хотел бы знать, как мы можем получить права root от приложения для Android? Есть ли какое-нибудь приложение в Android Market?
Я опробовал приведенную ниже строку кода, чтобы вывести список файлов, но ничего не произошло
Process process = Runtime.getRuntime().exec(new String[] { "su", "-", "root"});
Я попытался дать разрешение TEST_FACTORY в моем файле манифеста, но я получил ошибку "разрешено системному приложению"
Как я могу сделать свое приложение системным приложением?
Мне нужна помощь, чтобы начать работу с этими вещами (сделайте приложение, если возможно, чтобы получить разрешение root), любая помощь по этому вопросу очень ценится. Заранее спасибо:)
2 ответа
Во-первых: обратите внимание, что вы можете выполнять только команды оболочки, используя su (= вы можете использовать только команды оболочки как root, а не java-код).
Второе: не уверен, относится ли это ко всем приложениям su, но это справочное сообщение su
на моем телефоне:
Usage: su [options] [--] [-] [LOGIN] [--] [args...]
Options:
--daemon start the su daemon agent
-c, --command COMMAND pass COMMAND to the invoked shell
-h, --help display this help message and exit
-, -l, --login pretend the shell to be a login shell
-m, -p,
--preserve-environment do not change environment variables
-s, --shell SHELL use SHELL instead of the default /system/bin/sh
-u display the multiuser mode and exit
-v, --version display version number and exit
-V display version code and exit,
this is used almost exclusively by Superuser.apk
Это значит: ты должен бежать su -c something
(или же su -c something - root
, но root
в любом случае по умолчанию). по сути, это равно su на большинстве систем Linux, за исключением демонов, поскольку в обычных системах linux нет вызовов dahmon и su на запросы su.
Если другие команды su ведут себя по-другому (что возможно), безопаснее открыть поток в оболочке, выполнить su
, оцените его код возврата, затем перейдите к выполнению других команд, наконец, выполните exit
,
Здесь хороший ответ - ANDROID: Как получить root-доступ в приложении Android?
"Насколько я знаю, вы можете запускать команды командной строки только с правами суперпользователя. Вы можете использовать этот универсальный класс, который я создал, чтобы обернуть корневой доступ в ваш код: http://muzikant-android.blogspot.com/2011/02/how-to-get-root-access-and-execute.html"