Android — открытая операционная система, из-за чего существует огромное количество альтернативных прошивок, предоставляющих пользователю неведомый ранее функционал. В связи с этим нередко встаёт вопрос о прошивке своего горячо любимого устройства. Мы решили уделить этому внимание, будучи многопрофильным ресурсом. Этот довольно длинный пост будет включать в себя полную инструкцию по прошивке таких устройств, как Galaxy Nexus, Nexus 4, Nexus 7 и Nexus 10, а также некоторые размышления относительно целесообразности сего предприятия и мира кастомных прошивок в целом. Мы поставили перед собой цель сделать эту инструкцию максимально простой, точной и понятной.
[lightgrey_box]
Дисклаймер
Администрация PureGoogle.ru, разработчики и кто-либо не несут ответственности за Ваши действия и возможную порчу устройства.[/lightgrey_box]
Этот пост будет разбит на несколько отдельных частей: установка кастомного рекавери, получение прав root, установка кастомной прошивки, возвращение телефона в первоначальное состояние (обновление ОС вручную). Устройства семейства Nexus прошиваются схожим друг с другом образом, так что это будет одна большая инструкция, подходящая для всех устройств разом, лишь в некоторых случаях будут делаться пометки и ответвления, если процесс работы с одним устройством будет отличаться от остальных. Прошивка проходит в ручном режиме, без использования сторонних программ, но все процессы автоматизированы, так что вводить команды в командную строку не придётся.
Для работы нам потребуются: ПК, работающий на Windows Vista/7/8, кабель USB-microUSB для подключения девайса и 15 минут свободного времени.
Для начала предлагаю ознакомиться с терминами, употребляемыми в этой статье:
- Права root — права администратора системы. С их помощью можно удалять или изменять системные файлы, использовать огромную массу самых полезных приложений, требующих разрешения на редактирование системных разделов или файлов.
- Бутлодер (Bootloader), он же загрузчик — программа, загружающая операционную систему. Изначально он заблокирован, но может быть открыт, что даст возможность установить через него кастомный рекавери, ядро, радиомодуль… В теории уже открытие одного только загрузчика ведёт к потере гарантии (о кастомных прошивках и говорить нечего), но, в случае чего, всегда можно вернуть телефон в состояние «из коробки» и закрыть загрузчик.
- Рекавери (Recovery) — утилита, позволяющая обновлять ОС путём прошивки обычным .zip архивом. Каждое устройство на Android изначально имеет заводское рекавери, но оно нам не подойдёт, так как имеет ограниченный функционал и проверяет подпись файлов. Иными словами, оно годится лишь для очистки памяти системы и автоматической прошивки обновлений, приходящих вам по воздуху, которые имеют название update.zip. Мы же будем устанавливать кастомное рекавери, которое имеет существенно больший функционал. С помощью него можно будет сделать полный бэкап системы, устанавливать любые .zip архивы с прошивками, ядрами, радиомодулями, другими рекавери и т.д. Это очень просто, полезно и удобно.
- Фастбут (fastboot) — приложение для прошивки файлов в Android, работает через командную строку, является неотъемлемой частью Android SDK.
- ADB (Android Debug Bridge) — приложение для отладки, для работы необходима включённая отладка по USB в настройках.
Шаг 1 — Подготовка ПК:
В самую первую очередь, как и всегда, перед обывателем встаёт задача установки драйверов на своё устройство. Для упрощения инструкции мы будем рассматривать установку универсальных драйверов для всех устройств серии Nexus. Universal Naked Drivers разработаны уважаемым 1wayjonny с xda-developers, за что ему можно (и даже нужно) сказать спасибо в профиле. Скачиваем .zip архив с драйверами (переходим по ссылке, нажимаем Ctrl+S) и распаковываем его в корень диска C:. Архив содержит как fastboot, так и ADB драйвера.
Выключаем телефон или планшет, одновременно зажимаем и удерживаем клавиши «громкость вверх», «громкость вниз» и «включение». Должен появиться зелёный робот, лежащий на спине. Подключаем устройство USB кабелем к компьютеру.
Следуем в «Панель управления» — «Оборудование и звук» — «Диспетчер устройств» и видим там неопознанное устройство, носящее название «Android 1.0».
Нажимаем на него правой кнопкой мыши и выбираем «Обновить драйвер», в появившемся окне выбираем «Выполнить поиск драйверов на этом компьютере». Далее указываем путь к распакованному архиву с драйверами, в нашем случае C:\Universal_Naked_Driver_0.72 и ставим галку на «Включая вложенные папки». Нажимаем кнопку «Обновить» и дожидаемся установки драйверов.
Если драйвера установились правильно, то из диспетчера устройств пропадёт неопределённое устройство Android 1.0, и Вас уведомят, что обнаружен «Devicename» Bootloader Interface.
На Windows 8 могут возникнуть проблемы, система ругается на то, что драйвера не прошли проверку цифровой подписи. Для установки нужно будет отключить эту самую проверку. Зажимаем клавиши Win+i, идём таким путём: «Изменение параметров компьютера» — «Общие» — «Особые варианты загрузки» и выбираем «Перезагрузить сейчас». Спустя некоторое время перед нами появляется синий экран, на нём выбираем «Диагностика» — «Дополнительные параметры» — «Параметры загрузки» — «Перезагрузить». После перезагрузки появляется список возможных команд, в нём выбираем «Отключить обязательную проверку подписи драйверов», нажав соответствующую цифру на клавиатуре.
После установки драйверов скачиваем архив с ADB и fastboot утилитами (Ctrl+S), распаковываем его в корень диска С:, получится примерно следующее:
Подготовительный этап завершён.
Шаг 2 — Разблокировка бутлодера и установка кастомного рекавери:
Внимание! Разблокировка блокировка загрузчика удаляет абсолютно все данные с устройства, перенесите все данные с внутренного накопителя на компьютер, сохраните нужные данные приложений, воспользовавшись специальным ПО, которое можно найти в Play Market.
Итак, на устройстве запущен бутлодер, оно подключёно к компьютеру, компьютер его опознаёт, утилиты скачаны. Двигаемся в папку с распакованными утилитами C:\android-tools. Для разблокировки загрузчика нужно запустить cmd скрипт, имеющий название 1.unlock_bootloader.cmd, просто кликните по нему дважды. Появится командная строка, где автоматически пропишется нужная команда, смотрим на телефон(планшет), в этот момент он спросит действительно ли нужно открыть бутлодер, выбираем кнопками громкости «Yes» и подтверждаем выбор кнопкой включения. После данной операции в строке «Lock State» появится надпись «unlocked», а при загрузке под логотипом гугла будет красоваться открытый замок.
Далее необходимо установить рекавери. Скачиваем образ ClockworkMod для своего устройства здесь, он будет иметь название похожее на это — recovery-clockwork-touch-6.0.2.3-maguro.img. Перемещаем данный образ в директорию files\recovery, которая находится внутри папки с утилитами. Важно: в папке files\recovery должен лежать лишь один образ. Если грянет смена версии рекавери или переход на совершенно другое решение, то положите новый образ в эту папку, а старый удалите.
Для установки образа запускаем 3.flash_recovery.cmd. Окошко открывается, рекавери устанавливается на телефон, Вы получаете уведомление, что всё готово, окошко закрывается. Для перехода в рекавери из бутлодера выберите кнопками громкости «Recovery Mode» и подтвердите выбор. Результат:
Если версия рекавери не сенсорная, то управление осуществляется кнопками грокости, а подтверждение выбранного пункта — кнопка включения. Не нужно быть гением, чтобы сделать вывод, что каждый раз входить в рекавери из бутлодера долго и неудобно, поэтому в папке с утилитами присутствует скрипт 7.reboot_recovery_from_system.cmd, который, очевидно, позволяет попасть в рекавери, находясь в системе. Он использует команду ADB, драйвера есть, а для выполнения команд ADB нужно включить отладку по USB на вашем устройстве. Переходим в «Настройки» — «Для разработчиков» и ставим галку на «Отладка по USB». Если пункта «Для разработчиков» нет, то проходим в меню «О телефоне» и 7 раз нажимаем на пункт «Номер сборки», телефон (планшет) сообщит, что «Вы стали разработчиком», и доступ к пункту откроется. Теперь можно запустить описанный выше скрипт. Вы в рекавери.
Шаг 3 — Установка кастомной прошивки и получение прав root:
Чтобы получить рут нужно: скачать архив UPDATE-SuperSU-v1.25.zip (Ctrl+S) и положить его в любую удобную папку на SD карте. Зайти в рекавери, выбрать «Install zip from sdcard», далее выбрать «choose zip from sdcard», найти этот .zip архив, выбрать и установить. Перезагружаем устройство и видим новое приложение в меню — SuperSU. Это приложения для управления доступом, программы требующие наличия рут прав будут их требовать, а SuperSU будет спрашивать Вас о том, хотите ли Вы дать этой программе такие права.
Перейдём к установке кастомной прошивки. Скачиваем любую прошивку в формате .zip. Таковых очень много, но особой популярностью пользуются CyanogenMod, AOKP, MIUI, ParanoidAndroid… Каждая из перечисленных прошивок обладает определёнными достоинствами перед остальными, выбор полностью ваш. Скачанный архив помещаем по любому удобному пути во внутреннюю память устройства (SD карту), запоминаем путь. Загружаемся в рекавери, выбираем пункт «wipe data/factory reset» (очистка data раздела памяти, вы потеряете все приложения, контакты и тому подобное, карта памяти останется нетронутой), подтверждаем очистку. Выбираем пункт «wipe cache partition» и подтверждаем действие. Идём в пункт «advanced» и нажимаем на «wipe dalvik cache», опять нажимаем «да». Всё, теперь можно устанавливать стороннюю прошивку. Делается по аналогии с получением рут прав: «Install zip from sdcard» — «choose zip from sdcard» — выбираем — подтверждаем — выходим — перезагружаемся. Кастомная прошивка установлена. В дальнейшем: если осуществляется переход с одной прошивки на другую, то желательно делать все вайпы, как при переходе со стока на кастом, если же всего лишь обновляется версия той же самой прошивки, то можно не делать «wipe data/factory reset» и сохранить все данный в целости. При установке тем, ядер, модификаций и прочего вайпы не нужны вовсе, если только о них не сказано в описании к тому, что прошивается.
Что можно получить в итоге:
Важно понимать, что в подавляющем большинстве прошивок нет приложений Google, потому что компания запретила их встраивать изначально. При таком раскладе в системе не будет даже Play. Исправляется это прошивкой специально собранного архива Google-приложений, так называемых gapps (Google Apps). Найти можно здесь.
Шаг 4 — Возвращение в первоначальное состояние или ручное обновление Android:
В этом шаге повествуется о прошивке официального образа системы от Google, это нужно в том случае, если Вы хотите вернуть устройство в первоначальное состояние или обновление по воздуху слишком долго не приходит. Эта процедура удалит абсолютно все данные.
Скачиваем нужный официальный образ прошивки для своего устройства здесь. Распаковываем его так, чтобы файлы лежали в одной папке с утилитами, получится примерно так:
Среди распакованных файлов есть flash-all.bat. Запускаем его и дожидаемся окончания установки. Устройство перезагружается. Всё.
Чтобы заблокировать бутлодер: загружаемся в него и запускаем скрипт 2.lock_bootloader.cmd. Бутлодер заблокирован, устройство в состоянии «из коробки».
Дополнительно:
Если встанет проблема отдельной прошивки радиомодуля или бутлодера, то тут поступаем точно так же, как с прошивкой рекавери. Скачиваем образ, кладём в папку radio или bootloader внутри папки files, соответственно. Запускаем 5.flash_radio.cmd или 4.flash_bootloader.cmd. Файл образа в папке должен быть единственным.
Итог:
Возможность выбора — самое главное достоинство зелёного робота, а описанными выше действиями границы выбора стираются совершенно, Вы можете изменить свой смартфон или планшет настолько, насколько только возможно вообразить. Само собой, нужно быть морально готовым, что в кастомных прошивках или ядрах легко наткнуться на неприятный, но тем не менее несмертельный, баг. Для подавляющего большинства пользователей обычно хватает стоковой прошивки с root правами, но если хочется чего-то совершенно нового, то не бойтесь — экспериментируйте. Главное — бэкап, системный или просто бэкап приложений, контактов, сообщений — неважно, важно его наличие.
Описанная выше инструкция была успешно протестирована на смартфоне Galaxy Nexus и планшете Nexus 7.
P. S. Благодарим Егора Плотницкого за помощь, оказанную во время подготовки данного материала.