[Android] To root, or not to root…

22
18521 / 44
ПОЛЕЗНАЯ РЕКЛАМА :)Bluboo S1 4G Phablet

Меня часто спрашивают в твиттере, как получить root для того или иного телефона, и как использовать новые возможности аппарата после его получения. И если первый вопрос в принципе решается достаточно легко, после непродолжительного поиска, то второй вопрос более обширный. Зачем он вообще нужен, этот root, и с чем его едят? Именно поэтому было принято решение написать данную статью, чтобы раз и навсегда закрыть подобные вопросы (пусть не все, но по максимуму), и чтобы было место, где есть большинство ответов, и куда можно послать подобных просителей. :) Конечно, данная статья больше всего поможет начинающим пользователям, однако, возможно, некоторые “бывалые” юзеры почерпнут для себя что-то интересное из моего повествования.

Несомненно, о возможности легкого получения root прав для любого аппарата на платформе Android знают все, за редким исключением. Уж наверняка, почти все посетители нашего сайта хорошо знакомы с данным понятием. Не зря ведь слово “root” присутствует в названии нашего ресурса. Однако, так ли критически насущна эта процедура для нормального использования ОС, и неужели так обязательно и необходимо иметь права суперпользователя на своем смартфоне или планшете? Почему производители не предоставляют данную возможность из коробки? Чем так хорош root, и в чем его недостатки и даже, возможно, опасность? Попробуем подробнее рассмотреть все преимущества и последствия, связанные с его получением на устройстве, после чего сделаем выводы по многим вопросам, связанным с root. Возможно, данная статья поможет тем пользователям, которые еще не решились сделать root и побудит их все-таки провести данную процедуру. А может, кто-то окончательно убедится, что root на его устройстве совершенно ни к чему…

Техническая сторона вопроса

Начнем с банального, но необходимого для дальнейшего повествования вопроса. Что же такое “сделать root для Android аппарата”? Это процедура получения прав суперпользователя для системы Android. Данная процедура в деталях может отличаться для каждой конкретной модели телефона или планшета. Потому никаких конкретных инструкций я не предоставляю, только теория. Ведь сам принцип одинаков для всех аппаратов, хотя и существуют варианты и исключения. Обычно, для того чтобы получить root права на аппарате, достаточно заменить имеющееся ядро на модифицированное стоковое или кастомное ядро с рутом. Также есть варианты внедрения необходимых файлов в систему при помощи специальной микропрограммы-скрипта. Кроме того, есть еще один путь: вы можете сразу прошить стоковую или кастомную прошивку с внедренным рутом на ваш телефон. Как это делается? Скорее всего, вам потребуется для этого Windows ПК (существуют варианты и для Mac OS, но Windows предпочтительнее), к которому вы подключаете ваш телефон кабелем, запускаете на ПК необходимую программу, настраиваете ее и стартуете саму процедуру. После перезагрузки телефона вы получите аппарат с root правами.

В интернете есть много ресурсов, посвященных получению рут-прав для конкретного аппарата. Просто наберите в поиске “root ваша модель телефона”. Из проверенных сайтов, где вы гарантированно получите все необходимые инструкции и программы, можно посоветовать forum.xda-developers.com и 4pda.ru. Последний особенно хорош, если вы испытываете проблемы с английским языком.  Найдите ветку обсуждения вашего устройства, и, наверняка, тема про root будет одной из самых первых. На 4pda, обычно, данный раздел вынесен в шапку темы обсуждения конкретного устройства.

После получения данных прав вы обретаете полный доступ ко всем ресурсам OS Android и возможность вмешиваться в работу системных процессов посредством сторонних программам. Фактически, вы становитесь полновластным хозяином всего и вся, связанного с настройкой и эксплуатацией вашего устройства. С другой стороны, соответственно, на вас ложится полная ответственность за все происходящее, т.к. раньше система ограждала вас от некоторых необдуманных поступков, а теперь она не сможет этого сделать. Итак, давайте рассмотрим все преимущества и недостатки, которые предоставляет нам “рутованная” система Android.

Расширение функциональности приложений

Некоторые приложения для ОС Андроид требуют наличия root для своей работы. Это может быть файловый менеджер, с помощью которого вы получите доступ к системным разделам файловой системы, приложение для снятия скриншотов (в версиях ОС до 4.0) и записи скринкастов (видео с экрана телефона). Также к таким приложениям относятся: менеджеры управления памятью и тасккиллеры, программы для бэкапа системных приложений и данных, утилиты для разгона и изменения вольтажа процессора и графического чипа. Сторонние приложения для слежения за телефоном и удаленного управления оборудованием (защита от кражи и потери) просто не могут существовать без прав суперпользователя. Кроме того, некоторые приложения получают дополнительную функциональность в дополнение к имеющейся, например – оболочки рабочего стола, заменители блокировки экрана и т.д. Подобные приложения вы можете как установить из магазина Google Play, так и скачать из интернета – обычно в описании присутствует упоминание, нужен ли root для полноценной работы приложения или нет.

Расширение возможностей файлового менеджера и стороннего локскрина при помощи root-доступа:

  

Предоставление root-прав для приложений контролируется программой Superuser или его более современной версией – Super SU – все равно какой, обе они работают аналогичным образом. Обычно, данное приложение внедряется в систему во время процедуры рутинга или поставляется вместе с кастомной прошивкой, в которую рут уже внедрен по умолчанию. Как работает программа SU? При первом запуске приложения, требующего расширенные права, поступит запрос на их предоставление от программы SU в виде всплывающего окна. Вы просто нажимаете на кнопку, и права предоставлены. Также, вы можете отметить или нет галочку “запомнить” – в зависимости от того, хотите ли вы предоставить программе права root на постоянной основе или единоразово. В дальнейшем, при помощи SU вы можете контролировать, каким приложениям вы дали права root, когда они их применяют, а также можете отменить предоставление прав для любого приложения.

    

Файловая система – доступ к системным разделам

Немного о структуре файловой системы. Условно файловую систему в Андроид ОС можно разделить на системную и пользовательскую части.

К пользовательской части файловой системы относятся разделы /sd и /sd-ext – как вы понимаете, это внутренняя пользовательская встроенная flash-память и/или сменная sd-карточка. В зависимости от модели устройства, у вас могут присутствовать оба этих раздела или один из них. Также они могут называться по-другому, например, sdcard0 и sdcard1 – все зависит от производителя устройства или прошивки. Обычно ссылки на данные разделы находятся в корневой папке /mnt вашего устройства. Эти разделы по умолчанию открыты пользователю для редактирования, и в них можно размещать любые данные. Обычно тут хранятся все настройки установленных вами приложений и их пользовательские данные (например, кэши для игр, оффлайн-карты, файлы настройки программ и т.д. в папках Data и Android), фото и видео, снятые камерой (папка DCIM), папка загрузок браузера (Download или Downloads). При подключении устройства к ПК в режиме UMS или MTP именно эти разделы показываются в проводнике Windows/Linux ПК или MAC, и вы можете создавать тут свои папки и загружать любой контент: музыку, фильмы, фото, да и вообще – любые файлы. Обычно файловые менеджеры Android, установленные на вашем устройстве, по умолчанию открывают раздел sd или sd-ext (если есть только внешняя карточка) для операций с файловой системой аппарата.

К системным относятся разделы, недоступные пользователям (до получения прав root) для изменения и записи, – это разделы с файлами операционной системы и служебной информацией, а также установленные пользователем программы и данные приложений (в зависимости от разбивки разделов, это обычно /system, /data, /cache и др). После получения прав root опытные пользователи имеют возможность работать с файлами в системных разделах. Иногда это действительно необходимо, например для того, чтобы отредактировать файл настройки или заменить/удалить системное приложение, однако я настоятельно не рекомендую что-либо менять или удалять в системных папках, если Вы точно не знаете смысл того, что собираетесь сделать! Например, после процедуры root вам становится доступной папка системных приложений, которая находится по адресу system/app. Для работы подойдет любой файловый менеджер с функцией доступа к системным разделам, к примеру, Root Explorer или ES Проводник. Что это дает пользователю?

Установка системных приложений

Некоторые apk-файлы, которые вы можете скачать в интернете, не устанавливаются обычным образом, потому что они подписаны как системные. Кроме того, некоторые приложения распространяются как архив zip и предназначены для установки через CWM recovery (что это такое, мы рассмотрим ниже). Но бывает, что по каким-то причинам такую установку произвести невозможно – например, выскакивает ошибка, или у вас есть root, но нет CWM. В таком случае вы просто распаковываете архив (можно прямо на устройстве) и размещаете полученные файлы в нужных папках вручную. Вы можете поместить такой файл apk в папку system/app. Иногда кроме файла apk необходимо добавить еще несколько файлов (библиотек) в папку system/lib. После добавления файлов необходимо проверить их разрешения и сделать их такими же как у других файлов – при помощи того же самого файлового менеджера.  После выполнения всех действий необходимо перезагрузить устройство: после перезагрузки приложение появится в списке доступных и будет готово к использованию обычным образом.

    

Удаление системных приложений

Также, вы сможете удалить любое системное приложение из папки system/app для того, чтобы очистить место и освободить ресурсы устройства (в ОС Android некоторые системные приложения могут запускаться автоматически и висеть в памяти независимо от вашего желания). Тут есть несколько вариантов: можно, конечно, просто найти и удалить файл apk ненужной программы из папки system/app, но лучше переместить его куда-нибудь на карту памяти или переименовать, добавив расширение .bak в конце. Вы получите файл типа имя.apk.bak и сможете восстановить данное приложение в любое время, просто удалив ненужное расширение и перезагрузив аппарат. Кроме того, существует возможность удаления или “заморозки” системных приложений при помощи специализированных программ, например, Titanium Backup.

Правка файла конфигурации

Кроме всего вышесказанного, после получения root вы получаете возможность править основной файл конфигурации build.prop, который находится в папке /system. Эту правку можно осуществить в любом текстовом редакторе прямо на телефоне. Как всегда, я предупреждаю вас: будьте осторожны, вы рискуете просто не загрузиться, если сделаете что-то неправильно. Но если вы будете достаточно осторожны и хорошо изучите вопрос, то при помощи данной правки можно добиться интересных результатов без обращения к некоторым специализированным программам. Например, вы можете управлять параметрами подключения к мобильной сети или изменить “плотность экрана” – фактически, увеличивая или уменьшая масштаб интерфейса. Для этого нужно найти строчку ro.sf.lcd_density=xxx, где xxx как раз и есть числовое значение, уменьшая которое вы увеличите масштаб отображения элементов user interface и наоборот. Это, например, позволит вам увеличить рабочую область экрана для того, чтобы на нем умещалось больше элементов, и вы сможете применить большую сетку значков на рабочем столе. Или наоборот, сделать все элементы крупнее. Это один из примеров. На самом деле, вариантов применения может быть очень много – фактически, это тонкая регулировка параметров прошивки, которые применяются при загрузке устройства на ОС Андроид. Подробные описания всех параметров и последствия их изменения вы можете почерпнуть на тематических форумах и сайтах. Ищите!

  

ClockWorkMod Recovery

Это, воистину, великая штука, которая позволяет вывести процесс использования Android-устройства на новый уровень. Что такое рековери? Это такой служебный режим с текстовым меню, который можно вызвать на многих аппаратах еще до загрузки системы. Обычно вызов режима recovery можно осуществить с выключенного устройства путем зажатия определенной комбинации клавиш (например звук вверх+дом+питание на большинстве аппаратов Samsung). Также, многие кастомные прошивки предлагают выбор варианта загрузки в рековери при нажатии на кнопку питания прямо в загруженной ОС. Изначально телефоны поставляются со стандартным простейшим recovery, состоящим всего из нескольких пунктов. Обычно это пункт установки подписанного архива обновления “install update zip” и полный сброс с очисткой “wipe data/factory reset”. Но после получения root вы можете установить режим расширенного CWM Recovery на свое устройство. В большинстве случаев процедура рутинга и/или установка кастомной прошивки внедряет этот  режим в ваш телефон или планшет по умолчанию. Что можно сделать при помощи CWM? Вкратце пройдемся по основным возможностям данного режима.

Install zip

При помощи CWM recovery можно инсталлировать любую прошивку или пакет обновления, системное приложение, поменять ядро. Короче, установить можно все что угодно, главное, чтобы оно было совместимо с вашим телефоном или планшетом. Для этого необходимо закинуть файл в формате zip на внутреннюю или внешнюю карту памяти, загрузиться в режим рекавери и, выбрав соответствующий пункт, найти файл обновления и применить его. В последней версии CWM recovery появилась возможность устанавливать пакет со стороннего источника (sideload), при этом ваш аппарат должен быть подключен к ПК в режиме ADB.

    

Backup and restore

Это чуть ли не главная возможность с точки зрения полезности функции. Вы можете создать резервную копию вашего телефона, полностью сохранив данные всех разделов на внутреннюю или внешнюю карту памяти. Теперь что бы не случилось с аппаратом во время последующих экспериментов, вы сможете вернуться к состоянию на момент бэкапа в считанные минуты. Даже если вы полностью “убили” устройство и система не загружается, чаще всего режим recovery все равно работает. Можно зайти в него с выключенного телефона и сделать полное восстановление системы со всеми программами, данными и настройками. Или можно перепрошить устройство, заново сделать root, получить режим CWM-рековери и провести восстановление. Я рекомендую всем, кто занимается экспериментами со своими устройствами, делать подобные периодические бэкапы и всегда иметь несколько точек восстановления. Также рекомендуется делать бэкап перед любой установкой или выполнением критических операций из CWM. Во время проведения резервного копирования можно выбрать место для сохранения файлов. Если вы вдруг захотите удалить лишние файлы бэкапов, то напоминаю, что сами файлы хранятся в папке clockworkmod на вашей внутренней или внешней sd, в зависимости от того, куда вы делаете бэкапы из рековери.

Кроме того, при помощи CWM recovery можно, не загружаясь в систему, проделать много других полезных действий, необходимых в жизни андроид-гика, например :

  • Сделать очистку: полную – со сбросом пользовательских данных (wipe data/factory reset), только кэш (wipe cache), кэш виртуальной машины (wipe dalvik cache);
  • Очистить журнал аккумулятора;
  • Отформатировать разделы system, data, cache и прочие;
  • Переразбить и/или отформатировать карту памяти;
  • Смонтировать и отмонтировать любой из разделов файловой системы и подключить телефон к ПК в режиме USB-хранилища, для осуществления операций с файлами;
  • Исправить разрешения для файлов в системных разделах.

Так как ClockWorkMod Recovery – это разработка с открытым исходным кодом, любой разработчик может сделать свою модификацию данного режима. Поэтому на различных аппаратах могут встречаться кастомные рековери, основанные на CWM, но с расширенным набором функций, исходя из особенностей конкретного аппарата. Последнее время вошли в моду тач-рековери с увеличенными пунктами меню, на которые удобно нажимать пальцами (в стандартном варианте, это перемещение по пунктам при помощи клавиш громкости и выбор кнопкой питания или дом), или варианты с наэкранными кнопками навигации, возврата и выбора внизу экрана.

Выводы

Как мы видим, возможности аппарата с root очень велики в умелых руках. Почему производители не внедряют эти возможности в Android-устройства из коробки? Наверняка, ответ очевиден. Это своеобразные упреждающие меры, ведь если неопытный пользователь случайно установит вредоносное приложение на телефон и предоставит ему полный доступ к системе, это может повлечь за собой самые печальные последствия. К сожалению, большинство рядовых пользователей до конца не осознают все последствия необдуманных действий в эру всеобщей информатизации. Поэтому опасность потери учетных данных и денежных средств особенно велика на аппарате с root. Также, даже опытный юзер может допустить ошибки при работе с системными данными и привести устройство в нерабочее состояние в процессе экспериментов. Будьте осторожны. В данном вопросе поговорка “семь раз отмерь, один раз отрежь” как никогда актуальна. И еще раз напоминаю: делайте бэкапы перед всеми ответственными операциями! Это сэкономит ваше время, нервы и денежные средства.

Кроме того, развитие ОС Android в последнее время позволяет вообще отказаться от использования возможностей root на вашем устройстве. Все больше функций, ранее доступных только для “рутованных” аппаратов, теперь встраиваются производителями “из коробки”. Например, начиная с версии 4.0, у пользователя появилась возможность отключать системные приложения стандартными средствами. Большинство телефонов и планшетов изначально комплектуются инструментами для снятия скриншотов и даже для записи скринкастов. Сторонние приложения также получают все большие права и возможности в системе благодаря новым функциям последних версий ОС. Я думаю, что после решения вопроса с централизованным бэкапом всех системных и пользовательских данных в облако Google, этот вопрос можно будет считать закрытым для большинства людей; необходимость root для Android-устройств постепенно просто отпадет сама по себе.

Вот и первые предпосылки для этого – из разговора гиков в твиттере:


А вы что думаете по этому поводу?

 У меня в /admin/settings/advanced/ по умолчанию

Показать результаты

Загрузка ... Загрузка ...

  • Ivan Vodchenko

    Интересная тема. Я всегда был в шаге от рута, но так и не решился ни на одном из своих android устройств

    • о_О как без него можно жить? :)

    • за такой coming out предлагаю выгнать Ваню из штата сайта. с позором и волчьим билетом.

      • пока ограничимся желтой карточкой ;)

  • Capt_Vimes

    Единственная причина по которой у меня сейчас есть рут – это для полноценного бэкапа приложений.
    По слухам в 5м андроиде возможно будет встроенный механизм бэкапа, если он будет – надобность в рут-доступе отпадет

    • Если так, то да. Бэкап – очень весомая причина для получения рута

  • Ну, мои необходимости в root можно увидеть на скриншоте программы Superuser. И если раньше там была огромная простыня, то сейчас осталось всего 4 приложения, и те не критичны. А вот CWM backup, да – это сила и без него сложно.

  • Не переношу чистые, стоковые прошивки, поэтому без рута никуда:) А так в повседневной жизни для бэкапа/удаления мусора в основном использую… ну и CWM, куда уж без него.

  • Izzat Bahadirov

    Пара поправок:
    – Clockwork Recovery к руту отношения не имеет. Разве что, для того, чтобы его поставить, нужен su. Но его вполне можно просто прошить в download mode. К рутованности телефона он не относится никак.
    – Убирание приложений из /system/app реально место не освобождает – размера этого раздела фиксированный, и приложения на него не ставятся.

    ОГРОМНЫЙ минус рута – он полностью аннулирует безопасность. Если хакеру в руки попадет телефон с рутом (особенно с рутованным ядром), он сможет с него увести многие персональные данные хозяина (емайлы, контакты, пароли), даже если телефон защищен паролем. А потом поставить кейлоггер и вернуть хозяину за вознаграждение. :)

    • – Вроде бы как CWM действительно не связан с рутом, потому, что загружается до запуска системы, т.е. его действия не попадают под юрисдикцию ОС, где действует рут. Поэтому рековери как бы находится на уровне абстракции выше рута. Но на практике я не встречал их раздельно. Т.е. cwm всегда получается с получением рута и является его дополнением. Часто, можно получить только рут, а CWM установить позже. Но не наоборот. Потому, что CWM легче всего получить тогда, когда у тебя уже есть root. Как то так :)

      – Убирание приложений из system/app не добавляет места на диске. Но она убирает ненужные системные процессы, которые часто запускаются по умолчанию, хотя пользователю абсолютно не нужны. Например, я не использую встроенное приложение e-mail, но процесс запускается при каждой загрузке и занимает определенную часть оперативной памяти и ресурсов процессора, также увеличивает время загрузки. Это мизерные затраты, но когда их много, то на это затрачивается заметно ресурсов. Поэтому, удалив приложения порождающие лишние процессы, можно “почистить” прошивку и освободить больше оперативной памяти под действительно нужные сервисы, улучшив таким образом полезную многозадачность.

      – Про минусы и опасности я немного упомянул, но согласен, данная тема достойна отдельной статьи по безопасности андроид. Будем рады, если напишешь.

      • Izzat Bahadirov

        – CWM – это просто образ для рекавери партиции. Это просто ядро с набором утилит. К руту ядра или системного образа отношения не имеет совершенно. По крайней мере, технически. Для любителей прошивать телефоны он “идет” в пачке с рутом, так как при рутовании и последующей “игре” с телефоном продвинутый инструмент бэкапа просто необходим (как ты очень правильно написал).
        -Для таких целей “чистка” поможет. Но только частично. Очень много всего зачастую сидит в framework.jar, а вот его патчить куда сложнее. :)
        – Про безопасность напишу. Если получится, даже в воскресенье вечером, в самолете. :)

  • Вот бы мне это прочитать когда я впервые свой ССГ2 рутовал. Тогда практически методом тыка все, так как на чпда в основном хмурые люди, отправляющие читать ветку и не всегда понятный faq.
    Классно, Влад!
    По теме опроса скажу, что мой последний НТС был без рута и я за месяц его использования проблем не испытал….правда шиться перестал в связи с этим)

  • Игорь

    Статья очень порадовала меня много дельного . Одно мне не понятно почему при root на девайсе SGS III Я так и по прежнему вижу память телефона и флеш карту в Виндовз. Где эта проклятая system со всем содержимым? Так туда хочется приложить свои кривые руки :-D Что надо еще взломать, прописать и т.п.. Так мало инфы толковой в инете про Адройд аж бесит это. С яблоком было попроще в это плане.

    • В Windows вы ничего и не увидите, системные разделы не подключаются как флэш-память. Но этого и не нужно. Все необходимое есть прямо в телефоне. Просто используете любой файловый менеджер с доступом к системным разделам. Благодаря наличию рут вы можете включить режим записи для них, скопировать, удалить отредактировать все что угодно. ПК для этого не нужен и в этом весь кайф. Все делается с телефона.

  • Игорь

    Вы Vladislav подтвердили мои мысли, что редактировать системные файлы возможно лишь в самом устройстве. Разве нет файловых менеджеров для Windows под Андройд? Возможность редактирования без PC бесспорно может и + но тоже самое возможно и в iOS не прибегая к файловому менеджеру iFunBox под Windows. Мне и многим другим удобней полноценно редактировать системные фаилы на PC. Как быть, что делать? Есть решение этого аспекта?

    • Конечно, через пользовательский раздел, т.е. копируете файл туда, потом подключаете, открываете на ПК и в обратном порядке. Но имхо смысла в этом нет. Редактирование происходит в текстовом редакторе, там не роман писать а пару строк поправить обычно. Короче на телефоне удобнее все-таки. Еще есть вариант установки Android SDK на ПК и тогда можно подключать системные разделы и работать с ними на ПК, но это слишком геморно и для наших бытовых целей слишком сложно. Это скорее для программистов решение.

  • Stas

    На Galaxy S2 я ставил официальные и самые разные неофициальные прошивки разных версий (от 4.0.3 до 4.2.), но в итоге всегда возвращался к неофициальной рутованой NeatRom 3.6 с ядром Siyah: на рутованой прошивке AdFree намного лучше режет рекламу; в STweaks можно повысить чувствительность касаний (что делает мою любимую игру намного приятней), громкость динамиков/наушников/микрофона, частоту процессора; включить подсветку кнопок Меню и Назад для уведомления о пропущенных событиях.
    При этом продолжительность работы от одного заряда совсем не страдает.
    Другие преимущества рута я обычно не использую (не ковыряюсь в системных файлах и не меняю системные программы), но и упомянутых мне лично достаточно, чтобы не возвращаться на оф.

  • Андрей

    После получения рута с помощью прошивальщика odin, на samsung galaxy mega 6.3, у меня проблемы, галерея не открывается, встроенная память из 12 гб, только 128мб, не могу ничего скачать, так в чем же проблема?

    • Вы что-то сделали не по инструкции, видимо. Или что-то не сделали. Рут при помощи один, это необычно. Может вы прошивку с рут шили? Может не для вашей модификации? Да вариантов валом. У каждого телефона своя «атмосфера» и нужно точно знать и понимать, что вы делаете. Снова же, важна последовательность действий. А внутренняя память вообще доступна, или она тупо отвалилась? Если доступна, посмотрите, чем она забита. скиньте все нужное на пк и отформатируйте ее, наконец. Короче, я могу тут предположить миллион причин, но надо не гадать, а точно определить, что за проблема. Дистанционно этого сделать практически невозможно. Курите форумы, ищите такие же симптомы, как у вас и узнаете методы решения проблемы

    • Галерея не открывается, значит внутренняя память не монтируется, видимо. Проблема в ядре скорее всего. Вы что вообще шили? Уверены, что это для вашего телефона?

  • Андрей

    да, уверен

  • Андрей

    я использовал не защищённое ядро vcoreroot v.2