Для приложения Android не предоставлено корневое разрешение для превышения команды "su"

Я хочу выполнить команду "su" из приложения. Я запустил эмулятор и установил Superuser.apk(superuser 2.3.6.1)

Process pr= Runtime.getRuntime().exec("su");
process.waitFor();
Log.d("Ex.Value",Integer.toString(process.exitValue()));

Но я получаю 255 в качестве значения выхода, что, кажется, является некоторой ошибкой при выполнении "su". Я включил библиотеку RootTools ( http://code.google.com/p/roottools/). При проверке методами RootTools.isRootAvailable (), RootTools.isAccessGiven ()... Обнаружено, что эмулятор имеет SU, но моему приложению не предоставляются разрешения Root. Это будет реальная проблема? Если да, можете ли вы рассказать, как предоставить моему приложению разрешение Root?

1 ответ

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

В этом блоге есть пример, который может вам помочь:

http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/

Комментарии в конце также очень информативны.

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