Получение 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"

Другие вопросы по тегам