Содержание статьи
Любой андроидовод знает, что такое root, а многие специально получают его для выполнения разного рода сервисных задач и запуска специализированного софта. Тем не менее далеко не все знают, какие на самом деле возможности открывает наличие root-доступа на девайсе. В этой статье я расскажу о десяти незаменимых root-приложениях, которые существенно расширят возможности твоего аппарата.
Pimp My Rom (Beta)
- ОС: Android 2.1 и выше
- САЙТ: androguide.fr
- ЦЕНА: Бесплатно
![Выбираем алгоритм энергосбережения в Pimp My Rom](https://xakep.ru/wp-content/uploads/2014/11/pimp-my-rom1.jpg)
![](https://xakep.ru/wp-content/uploads/2013/07/cover-2-215x280.jpg)
Хакер #174. Собираем квадрокоптер
Pimp My Rom — это один из самых богатых на возможности root-инструментов, доступных в маркете. С его помощью к Android можно применить практически все существующие твики, установить модификации, включить экспериментальные функции, разогнать процессор и многое, многое другое. Фактически я бы мог написать целую статью об этом инструменте, и мне бы даже не хватило места, чтобы сказать обо всем. Тем не менее писать целую статью все-таки излишне, так как значительная часть твиков не пригодится большинству пользователей, а некоторые просто не сработают. Вместо этого я расскажу, как с помощью Pimp My Rom выполнить частые и наиболее необходимые настройки и твики. Итак, хит-парад из десяти моих любимых настроек:
- Активация поддержки init.d. Каталог /etc/init.d в Linux-системах выполняет функцию системы автозагрузки. Любой скрипт или команда, скопированная в него, будет выполнена во время загрузки девайса. Стоковые прошивки не имеют поддержки init.d, но ее легко в них добавить с помощью Pimp My Rom: Tools -> Universal Init.d Support -> Activate.
- Разгон, алгоритм энергосбережения и планировщик ввода-вывода. Все это можно изменить с помощью раздела Tools -> Pimp My CPU. В качестве алгоритма энергосбережения (Governor) лучше выбрать interactive(x) или smartass, а в качестве планировщика ввода-вывода (IO Scheduler) — sio или deadline.
- Запрет выгрузки приложений из памяти. Если ты часто используешь какое-либо приложение или несколько приложений, то есть смысл запретить их выгрузку при нехватке свободной памяти: Tools -> Lock Apps in Memory. В этом случае выбранные софтины всегда будут запускаться моментально. С другой стороны, при запуске тяжелого софта (например, игр) их придется вручную выгружать из памяти с помощью таск-киллера.
- Инженерное меню смартфона. В Android есть скрытое меню настроек, с помощью которого можно изменить некоторые параметры устройства (например, запретить переходить на 2G в условиях плохого сигнала 3G), но, чтобы получить к нему доступ, необходимо набрать в номеронабирателе комбинацию ##4637## или просто зайти в меню Tools -> Device Hidden Menu программы Pimp My Rom.
- Включение сжатия оперативной памяти. Linux-ядро некоторых прошивок включает в себя драйвер zRAM, который позволяет превратить часть оперативной памяти устройства в виртуальный своп со сжатием данных. Включение этого драйвера позволяет расширить объем оперативной памяти практически задаром. Сделать это с помощью Pimp My Rom можно так: Tweaks -> Multitasking -> zRam Compression -> 128mb.
- Отключение проверки на ошибки и проверки байт-кода при установке приложений. В Android есть два механизма проверки кода приложений на безопасность. Это проверка кода Dalvik во время установки приложения и проверка на ошибки исполнения запуска нативного кода. Отключив их, мы получим более быстрое исполнение и установку приложений: Tweaks -> Dalvik VM -> Dalvik JNI Error Checking / Dalvik Bytecode Verification - Off.
- Принудительная отрисовка с помощью графического процессора. Начиная с версии 4.0, Android умеет отрисовывать интерфейс приложений с помощью GPU, благодаря чему достигается высокая плавность его работы. Однако, чтобы это происходило, приложение должно подтвердить необходимость такой отрисовки, иначе все пойдет по старинке, через CPU, с тормозами. Чтобы заставить Android рисовать интерфейс всех приложений с помощью GPU, можно установить такой флажок: Tweaks -> Force GPU Rendering -> On. Имей в виду, что это может привести к сбоям приложений.
- Запрет на выгрузку рабочего стола из памяти. Наверняка ты сталкивался с таким поведением смартфона, когда после нажатия на кнопку «Домой» сначала появлялся черный экран, а лишь затем рабочий стол, иконки и виджеты. Это происходит потому, что рабочий стол был выгружен из памяти и теперь запускается снова. Чтобы избежать этого, можно заставить систему всегда держать его в памяти: Tweaks -> Lock Launcher in Memory -> On. Однако это будет стоить тебе 30–50 Мб памяти.
- Оптимизация баз данных. Android использует базы данных SQLite везде, где только возможно. Со временем эти базы данных фрагментируются, и выборка информации из них происходит медленнее. Чтобы избежать этого, можно заставить смартфон оптимизировать базы данных при каждой загрузке системы: Tweaks -> Optimize sqlite3 Databases.
- Сохранение заряда батареи. Есть множество способов сократить расход батареи. Все их можно применить с помощью одной настройки: Tweaks -> Battery Savings.
To root or not to root?
Термин root (дословно «корень») пришел в Android из мира Linux, где этим словом принято именовать пользователя с безграничными возможностями администратора. Однако если в Linux для получения прав этого пользователя достаточно набрать команду «sudo -s» и ввести свой пароль, то в Android так просто этого не сделаешь. По умолчанию Android запрещает использовать права root всем, кроме самой операционной системы. Причем это не просто запрет, это техническое ограничение; в системе нет утилит su и sudo, которые позволили бы получить права другого пользователя.
«Рутинг» устройства заключается в том, чтобы каким-либо образом интегрировать в систему команду su, а также графическое приложение типа SuperUser для контроля того, какие приложения смогут использовать права root, а какие — нет. Обычно для этого используются эксплойты, которые путем эксплуатации дыр в ядре Linux или системных компонентах получают права root и прописывают в систему su и SuperUser.apk.
Без root-доступа возможности Android-устройства сильно ограничены, так как выполнять привилегированные операции, такие как загрузка драйверов в ядро, управление брандмауэром, установка и удаление системных приложений, тюнинг настроек ядра и так далее, может выполнять только сама ОС. С другой стороны, root-доступ существенно снижает безопасность ОС, так как любой вирус с поддержкой root сможет легко завладеть всем смартфоном и сделает с ним все, что угодно.
Xposed
- ОС: Android 4.0 и выше
- САЙТ: goo.gl/4lB2y
- ЦЕНА: Бесплатно
![xposed1](https://xakep.ru/wp-content/uploads/2014/11/xposed1.jpg)
![В инсталляторе Xposed достаточно просто нажать «Установить». Список модулей после установки будет пуст](https://xakep.ru/wp-content/uploads/2014/11/xposed2.jpg)
Как известно, кастомные консоли восстановления, такие как ClockworkMod и TWRP, позволяют устанавливать не только прошивки целиком, но и отдельные их части. Например, ядро, драйверы или другие системные компоненты можно без каких-либо проблем установить отдельно и поверх уже существующей прошивки.
Как результат такой возможности, в Сети появилось множество модов, которые позволяют изменять функционал стоковых и других прошивок в разные стороны с помощью установки небольших обновлений поверх основной прошивки (один из самых популярных — круговая батарея). Однако у таких модов есть несколько проблем, основные из которых — это частая ориентированность только на одно устройство или одну прошивку и необходимость перезагружаться в консоль и выполнять установку вручную.
Чтобы разобраться с этой проблемой, юзер rovo89 с XDA Developers придумал оригинальное решение. Он модифицировал системный фреймворк Android таким образом, чтобы любую его функцию можно было перехватить и поменять на собственную реализацию. В результате появилось приложение Xposed, которое позволяет заменить стандартный Android-фреймворк модифицированным и реализует интерфейс для подключения модулей, то есть модификаций, созданных другими разработчиками.
Проект еще достаточно молодой, но за время его существования уже были реализованы следующие вкусности:
- XThemeEngine — движок тем, аналогичный тому, который используется в CyanogenMod. К сожалению, несовместим с его темами.
- Smiley Replacer — заменяет стандартный набор смайлов на более вменяемый.
- Tweakbox — набор из большого количества твиков. В комплекте: набор фонов и вариантов отображения сигнала для статусбара, эффект старого телевизора при выключении экрана, возможность записи звонков, возможность изменения действия кнопки «Домой», переключение композиций качелькой громкости и многое другое. Само собой, твики можно включать по отдельности.
- App Settings — добавляет возможность изменения настроек для каждого приложения на манер Paranoid Android. Например, для каждого приложения можно отдельно изменить DPI, размер шрифта, язык, скрыть статусбар, переключить ориентацию экрана и даже отозвать привилегии.
- TabletUI Trigger — позволяет переключать интерфейс между телефонным, планшетным и телефонно-планшетным (phablet) режимами.
- All apps in Play Store — позволяет получить доступ ко всем приложениям в маркете, даже тем, которые разработчик пометил как несовместимые.
Теперь о том, как все это использовать. Для начала необходимо установить инсталляторXposed. После его запуска следует нажать кнопку «Установить/Обновить» на главном экране. Смартфон уйдет в перезагрузку, после которой он будет готов принять модули. Сами модули распространяются в виде обычных APK-пакетов, устанавливаемых стандартным способом. После установки модули необходимо активировать через вкладку «Модули» в инсталляторе Xposed, а затем тапнуть по иконке модуля в меню приложений для его настройки.
Screen Standby
- ОС: Android 2.0 и выше
- САЙТ: goo.gl/JjJ8a
- ЦЕНА: Бесплатно
![За феерической мешаниной из дизайна Metro и Holo в Screen Standby скрывается куча полезностей](https://xakep.ru/wp-content/uploads/2014/11/screen-standby.jpg)
Одна из наиболее удручающих особенностей реализации поддержки HDMI в Android — это необходимость держать экран включенным. По умолчанию картинка всегда выводится на основной экран смартфона или планшета, а при подключении внешнего экрана по HDMI она просто масштабируется и дополнительно выводится на «большой экран». Как результат, мы имеем две проблемы: отстойное качество картинки на телевизоре или мониторе из-за масштабирования и дублирование картинки на двух экранах. С первым ничего нельзя сделать по технической причине, зато вторую можно решить с помощью приложения Screen Standby, которое принудительно отключает заднюю подсветку экрана, так что можно спокойно смотреть видео или играть в игры, не отвлекаясь на копию изображения на планшете.
Screen Standby позволяет нажатием кнопки отключить подсветку, также у него множество весьма полезных настроек, например отключать экран разными способами (для LED- и TFT-экранов) и отключать подсветку самостоятельно при подсоединении HDMI-кабеля. Для этого достаточно включить опцию Auto HDMI/MHL Detection в разделе HDMI Detection (там же есть и настройки отключения при запуске приложения или помещения в док).
В последних версиях Screen Standby также появились две очень полезные функции: тачпад и пульт удаленного управления. Первая превращает экран устройства в самый настоящий тачпад, с помощью которого можно управлять курсором на экране, вторая — это пульт удаленного управления, включающий в себя функции навигации, клавиатуры и управления медиаплеером. Для его работы необходимо установить программу на оба устройства, а дальше воспользоваться автоматическим поиском с одной из сторон.
full!screen
- ОС: Android 3.0 и выше
- САЙТ: нет
- ЦЕНА: Бесплатно
![Вместо строки состояния теперь небольшая кнопка в углу экрана](https://xakep.ru/wp-content/uploads/2014/11/full-screen.jpg)
Начиная с версии 3.0, в Android появилась строка наэкранных клавиш управления, которая заменила собой аппаратные кнопки «Домой», «Назад» и «Меню», а также включила в себя функциональность статусбара на планшетах. Это правильный и логичный шаг со стороны Google, однако благодаря толстой строке внизу экрана, которая скрывается только при использовании стокового плеера и YouTube, полезное пространство экрана исчезает в никуда (что особенно неприятно в случае со смартфоном).
Стандартной возможности скрыть строку в Android нет и никогда не появится, поэтому приходится выкручиваться собственными силами. Один из способов сделать это — установить приложение full!screen. Оно делает ровно то, о чем говорит его название, — скрывает строку и разворачивает интерфейс приложения на полный экран.
Чтобы оставить пользователю возможность возвращаться к предыдущему приложению или к домашнему экрану, full!screen создает в углу экрана (или даже в обоих углах) небольшую полупрозрачную кнопку, при нажатии на которую появляются стандартные клавиши навигации. То, какие клавиши будут доступны пользователю, какой будет кнопка и что вообще она будет делать, можно настроить через окно настроек приложения.
Стоит отметить, что в полноэкранном режиме нормально себя ведут только обычные приложения. При запуске же OpenGL-игр могут возникнуть интересные глюки. По каким-то причинам система распознавания прикосновений начинает считать, что изображение на экране находится ниже, чем есть на самом деле, так, как будто если бы при исчезновении строки навигации изображение сдвигалось вниз. В результате прикосновения срабатывают не там, где нужно.
В CyanogenMod и многих других кастомных прошивках, кстати, такая функциональность встроена, и при ее активации описанных глюков не наблюдается.
LMT Launcher
- ОС: Android 3.0 и выше
- САЙТ: goo.gl/29Of4
- ЦЕНА: Бесплатно
![Так выглядит LMT. Просто и со вкусом](https://xakep.ru/wp-content/uploads/2014/11/lmt.jpg)
В стандартном браузере Android 4.0 появилась интересная экспериментальная функция, смысл которой заключается в том, чтобы убрать с экрана любые элементы управления браузером и разместить их в небольшом круговом меню, которое появляется после прикосновения к правому краю экрана. Несмотря на инновационность и удобство использования, функция так и не стала стандартным элементом браузера, однако идею быстро взяли на вооружение независимые разработчики.
Через некоторое время подобная функциональность появилась в приложении LMT Launcher, предназначенном для создания альтернативной системы управления смартфоном в том случае, если у тебя отказали аппаратные клавиши навигации или если ты хочешь использовать все рабочее пространство экрана на смартфоне типа Galaxy Nexus. До этого в LMT Launcher были доступны довольно дурацкие способы замены, такие как многопальцевые жесты и создание невидимых кнопок управления в углах экрана.
С версии 0.8 здесь появилась и поддержка так называемого режима PIE, точно повторяющего функциональность стокового браузера. Теперь PIE используется в LMT Launcher по умолчанию и доступен через прикосновение к правой стороне экрана. Само собой, его можно легко перевесить на любую другую сторону экрана, а также изменить количество и назначение кнопок.
В качестве дополнительной функциональности доступны долгое нажатие на кнопку (например, долгое нажатие кнопки «Назад» приведет к закрытию и выгрузке текущего приложения из памяти) и показ дополнительной информации, такой как текущее время и дата (на случай, если статусбар также спрятан). Все это гибко настраивается и действительно удобно в использовании, особенно на смартфонах с большим экраном, где дотягиваться до стандартных клавиш навигации не очень удобно, и на больших планшетах, где проще дотронуться до края экрана пальцем, чем тянуться к его нижней части.
К слову сказать, совсем скоро после LMT Launcher точно такая же функция появилась в прошивке Paranoid Android 3, откуда она в начале года была портирована в CyanogenMod, правда, в очень урезанном и не таком эффектном виде.
DroidWall
- ОС: Android 1.5 и выше
- САЙТ: code.google.com/p/droidwall
- ЦЕНА: Бесплатно
![В DroidWall неугодным приложениям можно легко запретить доступ к 3G](https://xakep.ru/wp-content/uploads/2014/11/droidwall2.jpg)
В ядро Linux встроен один из самых развитых, функциональных и производительных брандмауэров среди всех операционных систем. Однако в Android он никак не используется, что вполне логично, если учитывать мобильный характер операционной системы.
Тем не менее было бы очень удобно с помощью возможностей встроенного файрвола регулировать то, какие приложения и в какие моменты времени могут получать доступ к Сети. Зачем, например, разрешать играм выходить в интернет и использовать эту возможность для показа рекламы? Или зачем разрешать фотокамере делать аплоад фотографий в Google+ по 3G, когда это можно сделать дома, подключившись к сети Wi-Fi?
Именно это позволяет сделать простое приложение под названием DroidWall. По сути, оно просто выводит на экран список приложений и позволяет расставить галочки напротив тех, которые должны иметь доступ к интернету, и снять с тех, что не должны. Опционально можно раздельно регулировать доступ к мобильным сетям и Wi-Fi, благодаря чему можно серьезно сэкономить на мобильном трафике.
ROM Manager
- ОС: Android 2.2 и выше
- САЙТ: clockworkmod.com
- ЦЕНА: Бесплатно / 185 руб.
![В ROM Manager множество полезных настроек. Автор даже не навязывает рекламу](https://xakep.ru/wp-content/uploads/2014/11/rom-manager21.jpg)
Для выполнения таких операций, как установка прошивок или создание Nandroid-бэкапа текущей прошивки, в Android-девайсах используется консоль восстановления (recovery), в которую приходится самостоятельно перезагружаться, зажав специальные клавиши, а затем долго ходить по меню в поисках нужных функций и файлов прошивки. Чтобы облегчить этот процесс, Кушик Дутта, автор ClockworkMod Recovery, написал приложение ROM Manager, которое позволяет проделать многие из этих операций, вообще не касаясь консоли восстановления.
Бесплатная версия приложения позволяет установить консоль восстановления, скачивать и устанавливать прошивку и создавать Nandroid-бэкапы с помощью нескольких тапов. Заплатив 185 рублей, ты получишь в придачу возможность выкачивать дельта-обновления прошивок, автоматическое уведомление о выходе новой версии прошивки, автоматические бэкапы, а также возможность управлять через браузер и сохранять бэкапы на удаленном сервере. Особый плюс — так называемые цепочки установок, то есть возможность последовательной установки сразу нескольких файлов прошивки, например, сначала саму прошивку, затем кастомное ядро и Gapps.
Paragon NTFS & HFS+
- ОС: Android 2.3.3 и выше
- САЙТ: www.paragon-software.com
- ЦЕНА: Бесплатно
![paragon1](https://xakep.ru/wp-content/uploads/2014/11/paragon1.jpg)
![Paragon можно использовать и для подключения ФС вручную. Точку подключения можно выбрать самостоятельно](https://xakep.ru/wp-content/uploads/2014/11/paragon2.jpg)
По умолчанию на внешних накопителях Android поддерживает только файловые системы FAT и exFAT. Это не очень хорошо, так как многие предпочитают форматировать карты памяти больших объемов, а также флешки и внешние жесткие диски в более подходящие для этого файловые системы. Линуксоиды — в ext2, пользователи Windows и OS X — в NTFS и HFS+.
Однако если проблема первых решается довольно просто с помощью уже интегрированного в ядро драйвера, то вторым живется похуже. По умолчанию стоковые ядра вообще не включают в себя драйверы NTFS и HFS+, а кастомные если и включают, то не позволяют их использовать, что называется, из коробки. К счастью, решить эту проблему довольно просто, если воспользоваться приложением Paragon NTFS & HFS+.
Приложение включает в себя драйвер, а также прослойку для автомонтирования накопителей. По сути, все, что необходимо сделать, — это просто установить софтину, запустить и забыть о ней. Наиболее дотошные могут также воспользоваться простеньким интерфейсом программы для мануального подключения флешки или форматирования в нужную ФС.
AppSync
- ОС: Android 2.2 и выше
- САЙТ: goo.gl/w9QZS
- ЦЕНА: Бесплатно
![К сожалению, можно синхронизировать данные не всех приложений](https://xakep.ru/wp-content/uploads/2014/11/appsync2.jpg)
К сожалению, в Android нет встроенной функции синхронизации настроек приложений между устройствами, поэтому, если у тебя есть телефон и парочка планшетов, настраивать приложения, вбивать пароли и заново проходить игры придется три раза. Особо хитрые юзеры уже придумали способ синхронизации с помощью различных облачных бэкапов, но это всего лишь неудобный костыль.
Приложение AppSync позволяет полностью автоматизировать процесс обмена настройками между несколькими приложениями одной Wi-Fi-сети. Для этого достаточно установить AppSync на оба девайса, указать имя устройства и пароль для доступа к нему. Сразу после запуска AppSync на другом устройстве оно появится в списке. Далее можно выбрать необходимые приложения, и их данные будут загружены на устройство. Pro-версия приложения также поддерживает синхронизацию через NFC и облачные диски.
LagFix
- ОС: Android 2.2 и выше
- САЙТ: нет
- ЦЕНА: Бесплатно
![Без прав root тут никуда...](https://xakep.ru/wp-content/uploads/2014/11/lagfix2.jpg)
Наверняка ты замечал, что со временем, при заполнении внутренней памяти, смартфон начинает притормаживать, а количество свободного пространства при этом оказывается меньше, чем об этом заявляет операционная система.
Корень такого поведения — особенность работы NAND-памяти, которая требует, чтобы перед записью новых данных в ячейку памяти старые данные были из нее явно стерты. Однако, поскольку при удалении файлов файловая система не сообщает NAND-контроллеру об этом событии и просто помечает файлы как удаленные, начинаются проблемы несогласованности. При следующей записи данных файловая система может выбрать как раз те блоки, которые принадлежали уже удаленному файлу, и контроллеру приходится проверять, записаны ли в ячейки, привязанные к блоку, какие-то данные, и, если это так, удалять их, а лишь затем писать данные нового файла.
Все это приводит к тому, что при длительном использовании NAND-памяти почти все ячейки оказываются заняты либо существующими, либо уже удаленными файлами и при каждой записи новых данных происходит, во-первых, поиск действительно незанятых ячеек, а во-вторых, их очищение перед записью. В результате скорость записи данных существенно падает (в среднем в два-три раза), а сам смартфон начинает тормозить.
Чтобы избежать этого, можно запустить консольную команду fstrim, которая принудительно очистит ячейки, принадлежащие уже удаленным файлам, и, таким образом, позволит в будущем записывать данные сразу. Можно также воспользоваться приложением LagFix. Достаточно просто запустить его и нажать кнопку «Run!».
INFO
Брандмауэр есть и в некоторых антивирусных продуктах, например в Avast Mobile Security.
Интересно, что, если поискать в маркете другие приложения Paragon Software, 90% из них окажутся различными словарями, стоимость которых доходит до 1000 рублей.
Возможность устанавливать сразу несколько файлов прошивки есть, кроме ROM Manager, в приложении Auto Flasher.
Выводы
Это только малая часть полезных root-приложений, которые я посчитал наиболее востребованными и необходимыми в повседневной жизни. Поискав в маркете по слову «root», можно найти огромное количество другого софта. Большинство окажется ржавым хламом, однако и в нем можно найти настоящие жемчужины, не хуже описанных в статье.