Получаем ROOT права

Ответить
SKR
Сообщения: 13
Зарегистрирован: 30 мар 2012, 09:54
Откуда: Россия, респ. Мордовия, пгт. Торбеево

Получаем ROOT права

Сообщение SKR » 02 апр 2012, 17:30

Недавно начал делать свою первую программку, и сначала пытался сделать функцию посредством ROOT, но отказался от этой затеи. Про ROOT нашел информацию только на иностранном языке, и то очень мало, пришлось разобрать ни в чем не повинное приложение Battery Calibration :)

Ниже приведенный код выполняет любую команду, требующую ROOT права.

Код: Выделить всё

private boolean superuser(String paramString)
  {
    boolean i = true;
    String[] arrayOfString = new String[3];
    arrayOfString[0] = "su";
    arrayOfString[1] = "-c";
    arrayOfString[2] = paramString;
    try
    {
      int j = Runtime.getRuntime().exec(arrayOfString).waitFor();
      if (j != 0)
        i = false;
      return i;
    }
    catch (IOException localIOException)
    {
      while (true)
        i = false;
    }
    catch (InterruptedException localInterruptedException)
    {
      while (true)
        i = false;
    }
  }
Запускается функция с помощью этой строки:

Код: Выделить всё

superuser(<ваша команда>)
Функция возвращает true, если команда выполнена успешно, иначе - false

Вместо <ваша команда> вписывайте вашу команду, например:

Код: Выделить всё

if (superuser("rm " + myMain.this.statpath))
              alertok.show();
В данном случае с помощью команды rm удаляется файл, указанный в myMain.this.statpath

P.S. вопрос к админу сайта:
Возможно ли с помощью ROOT осуществить установку приложений в обход Package Installer?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Получаем ROOT права

Сообщение damager82 » 04 апр 2012, 09:55

Так просто? А это баг или фича?
SKR писал(а):Возможно ли с помощью ROOT осуществить установку приложений в обход Package Installer?
Я пока вожусь только с разработкой приложений, а с установками в обход и root-ами не сталкивался, ничего не могу сказать.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

SKR
Сообщения: 13
Зарегистрирован: 30 мар 2012, 09:54
Откуда: Россия, респ. Мордовия, пгт. Торбеево

Re: Получаем ROOT права

Сообщение SKR » 05 апр 2012, 15:04

damager82 писал(а):Так просто? А это баг или фича?.
Вроде нет, как я понял:
Класс java.lang.Runtime имеет статический метод getRuntime(), который возвращает текущее выполнение Java-среды. Это единственный способ получить ссылку на объект во время выполнения. С его помощью, вы можете запускать внешние программы, вызвав метод exec().

progger
Сообщения: 5
Зарегистрирован: 05 янв 2016, 23:22

Re: Получаем ROOT права

Сообщение progger » 14 июл 2016, 13:23

а что делать если код в приложении
Runtime.getRuntime().totalMemory() вылетает с ошибкой java.lang.NullPointerException т.е. Runtime.getRuntime() возвращает нулевой указатель, как будто нет прав?
девайс заводской и не рутованый - может в этом дело?
пробовал добавлять <uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
не помогает

Ответить