gsm2015.ru - телефоны на android, simbian Google Nexus

Тем, кто интересуется смартфонами и планшетами на Android, хорошо известно, что Nexus — это линейка Android–устройств, которые выпускаются различными производителями совместно с Google.
В этой линейке на текущей момент известны смартфоны: HTC Nexus One, Samsung Nexus S, Samsung Galaxy Nexus, LG Nexus 4; и планшеты: ASUS Nexus 7 и Samsung Nexus 10.

Android–устройства, выходящие под брендом Nexus, как правило по характеристикам близки к топовым флагманам соответствующего производителя, и прошивка Android на них считается канонической, т.е. референсной, чистой, от самого Google, без всяких оболочек, дополнительных приложений и прочих свистоперделок самих производителей.

В этом посте поговорим про разблокировку загрузчика и перепрошивку образа системы на Android–устройствах линейки Nexus.
Слабонервным можно не покидать пост, потому как всё эти операции делаются несложно и доступны даже неподготовленному пользователю.

Tagged with:
 

18 Responses to Перезаливка образов Android для аппаратов линейки Nexus

  1. VebRU:

    Как определить, какой источник обновлений используется в моём экземпляре Nexus-устройства?

    Нужно посмотреть буквенный код используемого в аппарате образа Android. Сделать это можно различными способами. Этот код отображается в некоторых приложениях, например, в гугло-картах:
    Google Maps — Settings — About — Device

    Если там написано, например, «samsung yakju«, то значит это экземпляр модели Samsung Galaxy Nexus (GSM) [код модели: GT-i9250, кодовое имя: maguro], который привязан к серверам обновления Google. А если там написано «samsung yakjuxw«, то это экземпляр той же модели Samsung Galaxy Nexus (GSM) [maguro], но Android там привязан к серверам обновлений Samsung.

    Буквенные коды образов Android для Nexus-устройств, привязанных к серверам обновления Google:
    «soju» — Nexus S (worldwide version, i9020t and i9023);
    «sojua» — Nexus S (850MHz version, i9020a);
    «sojuk» — Nexus S (Korea version, m200);
    «sojus» — Nexus S 4G (d720);
    «takju» — Galaxy Nexus «maguro» (GSM/HSPA+) (with Google Wallet)
    «yakju» — Galaxy Nexus «maguro» (GSM/HSPA+)
    «mysid» — Galaxy Nexus «toro» (Verizon CDMA/LTE)
    «mysidspr» — Galaxy Nexus «toroplus» (Sprint CDMA/LTE)
    «tungsten» — Nexus Q
    «occam» — Nexus 4
    «nakasi» — Nexus 7 (Wi-Fi)
    «nakasig» — Nexus 7 (GSM/HSPA+)
    «mantaray» — Nexus 10

    Если у вас код Android-образа на соответствующем Nexus-девайсе какой-то другой, значит аппарат привязан не к серверу обновлений Google, а к какому-то ещё. И значит обновления системы будут приходить не сразу после выхода, а с заметными задержками, зависящими только от поставщика этих обновлений для вашего устройства (производителя).

  2. VebRU:

    Не все Nexus’ы одинаково полезны

    В интернетах во многих статьях про Android-девайсы пишут, что линейка смартфонов/планшетов под брендом Nexus разрабатывается различными производителями совместно с Google, поэтому там:
    а) Чистый голый Android от Google без всяких кастомных оболочек и приложений от компании-производителя;
    б) Обновления системы поддерживаются самим Google, и потому период поддержки обновлений для Nexus-девайсов дольше, чем для других Android-смартфонов;
    в) Обновления системы ставятся с серверов Google, поэтому они приходят на Nexus-устройства сразу, как их зарелизит Google.
    Всё это правда, но не до конца. Неточность тут кроется в пункте (в) про обновления, их источник и скорость появления на Nexus-устройстве.

    В действительности разные экземпляры каждой из моделей Nexus-устройств изначально продаются с несколькими вариантами прошивок. Отличия между этими прошивками в том, какой источник получения обновлений системы в них указан. Для одних экземпляров какой-то модели Nexus-девайса источником обновлений системы (Android) являются серверы Google, для других экземпляров той же модели источником обновлений может быть указан сервер компании-производителя (например, Samsung), для третьих экземпляров той же модели в качестве источника обновлений может быть указан вообще сервер мобильного оператора, с которым у Google есть какие-то партнёрские отношения по распространению этого устройства.

    В итоге серверы Google являются по умолчанию источником обновления системы только для Nexus-устройств, которые изначально были куплены у Google через их магазин Google Play. Если же Nexus-устройство было изначально куплено в розничном магазине, то там в качестве источника обновления системы будет по умолчанию указан сервер компании-производителя (например, Samsung). Устройство, купленное с рук или через какие-то интернет-аукционы типа eBay может оказаться, как привязанным к серверам обновлений Google, так и привязанным к серверам обновлений компании производителя, в зависимости от того, где его приобрели изначально.

    И соответственно свежие обновления Android, выпущенные компанией Google, быстро приходят (через механизм обновлений OTA [Over-the-Air], т.е. через беспроводное соединение) только на экземпляры Nexus-устройств, привязанные к серверам обновлений Google. А производители на своих серверах обновлений могут начать распространять тот же апдейт с большой задержкой относительно его релиза в Google. Например, Samsung нередко выпускает обновления Android для своих смартфонов линейки Nexus с задержкой 2-3 месяца относительно Google. Поэтому устройства, привязанные к серверам обновления производителей, будут получать обновления со значительными задержками.

    Возможно, это разделение экземпляров устройств на модификации с разными источниками обновлений Android актуально не для всех моделей линейки Nexus, но, например, для Samsung Galaxy Nexus такое разделение точно есть.

  3. VebRU:

    Как изменить источник обновлений в Nexus-устройстве на Google?

    Простого способа как-то вручную поменять внутри конфигурации Android источник обновлений системы с сервера производителя на сервер Google, насколько я знаю, не существует. Как-то у них этот источник обновлений, видимо, глубоко зашит в образ Android. Поэтому для установки в качестве сервера системных обновлений серверов Google нужно единожды заменить образ Android на соответствующий образ, официально поставляемый самим Google. После этого ваш Nexus-девайс будет привязан к серверам обновлений Google, а значит все дальнейшие обновления Android на него будут приходить через механизм обновлений OTA («по воздуху») сразу, как только их выпустит Google на своих серверах обновлений.

  4. VebRU:

    Не опасно ли перепрошивать Nexus-устройство?

    Ничего сложного в этом нет. Для Nexus-устройств это по сути штатная процедура, предоставленная компанией Google для Android-разработчиков. Если прошивать официальным образом Android от Google, то никакого риска точно нет, всё проверено самим гуглом. Неработающий кирпич в итоге не получите. Отказа в гарантии из-за этого тоже не получите. Блокировка/разблокировка загрузчика вообще обратимая операция.

    Единственно о чём следует побеспокоиться заранее — это о сохранности пользовательских данных перед перепрошивкой. Перепрошивка удалит все настройки и пользовательские данные с устройства, поэтому заранее скопируйте данные. А лучше перепрошивайте свежее устройство, пока не успели на нём понаставить кучу приложений и накопить пользовательских данных.

  5. VebRU:

    Как перепрошить Nexus-девайс официальным образом Android от Google

    Для этого понадобится:
    1. Само Nexus-устройство (смартфон/планшет).
    2. Компьютер с доступом в интернет.
    3. Штатный USB-кабель для подключения мобильного устройства к компьютеру.

    Опишу по шагам, как это делается с компьютера под управлением какого-либо Linux-дистрибутива.

    Шаг 0.
    Этот шаг нужен только для тех, у кого установлена 64-битная версия Linux-дистрибутива (т.е. x86-64 aka amd64). Пользователи 32-битных версий Linux (x86 aka i686 aka i386) этот шаг пропускают.
    В процессе работы с Android-устройством с компьютера используются утилиты (adb и fastboot) из пакета Android SDK Platform tools. Эти утилиты 32-битные, и нужные для их работы 32-битные библиотеки в 32-битных версиях Linux есть по умолчанию, а в 64-битных Linux-дистрибутивах их по умолчанию нет, поэтому их предварительно придётся поставить дополнительно из репозиториев.

    Для Debian/Ubuntu Linux (amd64):
    sudo apt-get install lib32ncurses5 lib32stdc++6

    Для Fedora Linux (amd64):
    sudo yum install ncurses-libs.i686 libstdc++.i686 libgcc.i686

    Шаг 1.
    Зайдите на страницу проекта galaxy-nexus-linux-toolkit и скачиваем tgz-архив с bash-скриптом «Universal Nexus Linux Toolkit». На момент написания этого поста последняя версия этого скрипта 2.0.2 (от 19 ноября 2012).

    Это универсальный скрипт, который подходит для различных моделей Nexus-девайсов (Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10) и позволяет выполнять с ними различные операции: блокировать/разблокировать загрузчик, перепрошивать образ системы, получать root-права в системе.

    Кроме этого скипта более ничего можно предварительно вручную не скачивать. Все нужные утилиты и образы будут скачиваться из инета автоматически по мере работы со скриптом.

    Шаг 2.
    Распакуйте скрипт из скачанного tgz-архива (unlt202.tgz), например, в папку:
    ~/Downloads/unlt/unlt.sh

    Шаг 3.
    К сожалению, в этом скрипте (в unlt v2.0.2) не все ссылки на официальные образы Android для различных Nexus-устройств актуальны. Там для ряда моделей указаны ссылки на образы Android 4.2.0, а в этой версии Android был обнаружен баг с календарём, поэтому Google выложил для всех устройств вместо образа Android 4.2.0 образ Android 4.2.1, где этот баг был исправлен. А образ с багом (Android 4.2.0) был с серверов Google удалён, поэтому ссылки на него в скрипте стали нерабочими.

    Рекомендую сначала открыть страницу с официальными ссылками на образы Android от Google, и скопировать оттуда актуальную ссылку на интересующий вас образ Android и md5-сумму этого образа. Далее в скрипте unlt.sh в секции «# Factory URL & MD5» для соответствующего образа указать корректный URL и MD5-сумму.

    Например, для интересовавшего меня образа Android для Galaxy Nexus (GSM) [maguro] я в этом скрипте закомментировал имевшиеся строки:
    # FACTORY_MAGURO=»https://dl.google.com/dl/android/aosp/ta…«
    # MD5_MAGURO=»1e62833203f9fd3aa63de9b59af7 84ca»

    и вместо них добавил актуальные данные со страницы с образами Google:
    FACTORY_MAGURO=»https://dl.google.com/dl/android/aosp/ya…«
    MD5_MAGURO=»452e87a0571c64d73db0df754523 13a9″

    Шаг 4.
    Подготовьте ваш Nexus-девайс к работе в режиме отладки:
    1) Включенный девайс подключите к компьютеру USB-кабелем;
    2) В Android перейдите в настройки «Settings» — «Developer options», включите в верхней части экрана переключатель в ON, поставьте галку в пункте «USB debugging». На все предупреждения отвечайте «ОК».

    Q: В моём Android в настройках (Settings) нет пункта «Developer options». Как же туда перейти?
    A: Значит у вас в Android не включён режим разработчика. Перейдите в настройках (Settings) в раздел «About phone» (на планшетах «About tablet»), в самом низу будет строка «Build number», ткните в неё пальцем 7 раз подряд. После этого Android объявит, что вы отныне девелопер, и в настройках появится соответствующий пункт меню «Developer options».

    Шаг 5.
    На компьютере запустите терминал, перейдите в директорию со скриптом unlt.sh и запустите этот скрипт с рутовыми правами:
    cd ~/Downloads/unlt/
    sudo bash unlt.sh

    Шаг 6.
    В меню выбора модели устройства введите цифру, соответствующую модели вашего Nexus-девайса.

    Шаг 7.
    В следующем меню выбра режима выберите автоматический режим (буква A).

    Шаг 8.
    В следующем меню выберите пункт «Unlock the Bootloader» (цифра 1) для разблокировки загрузчика. Разблокировка загрузчика требуется для возможности установки на устройство образа операционной системы.
    Скрипт попросит вас убедиться, что девайс готов к отладке (т.е. выполнены действия, указанные в шаге 4), и для продолжения ввести букву Y.

    Шаг 9.
    На экране устройства покажется зелёный робот, лежащий с открытой крышкой в режиме отладки. Далее на экране устройства покажется запрос на разблокировку загрузчика. С помощью клавиши громкости (Volume Up) переместите курсор на пункт «Yes», далее кратковременно нажмите на устройстве кнопку питания. Устройство уйдёт в перезагрузку. После загрузки загрузчик будет уже разблокирован.
    На компьютере в окне терминала нажмите Enter для возврата в меню операций.

    Шаг 10.
    На компьютере в меню операций выберите пункт «Flash Google Factory Image» (цифра 5) для заливки на устройство официального образа Android от Google.
    Скрипт снова попросит вас убедиться, что девайс готов к отладке (т.е. выполнены действия, указанные в шаге 4), и для продолжения ввести букву Y.
    Скрипт сам скачает из инета образ Android (порядка 260 МБ для Android 4.2.1), проверит его контролльную сумму, распакует его и зальёт на устройство.
    На компьютере в окне терминала нажмите Enter для возврата в меню операций.

    Шаг 11.
    После заливки образа и перезагрузки Nexus-устройства, это уже будет устройство с последней версией Android от Google. Плюс оно уже будет привязано к серверам системных обновлений Google, а значит все последующие обновления Android будет получать своевременно.
    На устройстве можете снова зайти в Google Maps — Settings — About — Device и посмотреть там буквенный код образа Android. Там уже должен быть код, обозначающий привязку к серверам обновления Google.

    Шаг 12.
    Теперь можете снова включить на Nexus-устройстве режим отладки (USB debugging) и через тот же скрипт с компьютера снова включить блокировку загрузчика (разблокировка была нужна только на этапе заливки системы из образа). Но это не обязательно.

    Также опционально можете через тот же скрипт включить root-доступ на Android. Но если вам нужно было только обновить Android и сделать его обновляемым с серверов Google, то получать root-доступ не обязательно. Операцию получения root-доступа в Android я рассматривать в этом посте не буду.

  6. VebRU:

    А перепрошить Nexus-девайс из-под Windows можно?

    Конечно. О том, как сменить прошивку на Galaxy Nexus с компьютера под Windows, можно посмотреть тут, тут или тут.
    Я прошивку из-под Windows рассматривать тут не буду, т.к. не пробовал. Но на первый взгляд выглядит не сильно сложнее, чем под Linux.

  7. XuaaTa:

    Как страшно жить…

  8. VebRU:

    что именно вас страшит?

  9. XuaaTa:

    слишком много текста (:

  10. Etoko:

    намного проще использовать это:
    http://forum.xda-developers.com/showthre

    и никакие строки в никаких скриптах комментировать не нужно

  11. RedFcuk:

    хочу официальный (гугли суки) ОТА 4.2 на Nexus S (soju)!

  12. VebRU:

    Но это же не работает под Linux.

  13. NiModin:

    не хочешь. поверь.

  14. RedFcuk:

    сказал «А», говори «Б».
    У меня коллега на Лексусе следующего поколения, у него 4.2.1 (фикс декабря) пришло. Я пощупал — очень вкусно.

  15. NiModin:

    4.2.1 фикс — да, сделал терпимым.
    но у меня боль просто, у меня основной рабочий календарь с ежедневником на Jorte был. так вот у него отвалилась привязка к гугл и прочим календарям. то есть из гугла в него еще попадают задания. а вот обратно уже нельзя сделать. а виджета сравнимого с их календарем я не нашел. с учетом того, что для работы он мне реально необходим — я очень расстроен тем, что обновился.

  16. RedFcuk:

    я в ms компании работаю. у нас вообще печально с «тасками». их вроде никто не умеет синхронизировать с экченжа. ems по андроид вроде и есть и нет…

  17. Etoko:

    ну чтобы рутануть, можно и винду поставить / у друга найти. думаю, у большинства винда есть.

  18. VebRU:

    Не вижу смысла. Все эти манипуляции с рутом/разблокировкой/перепрошивкой выполняются через утилиты adb и fastboot из пакета Android SDK platform tools. Сами утилиты adb и fastboot есть и под Windows, и под Linux, и под Mac OS X. Все команды с этими утилитами идентичны во всех системах. Всякие скрипты и оболочки по автоматизации — это всего лишь внешняя обвязка (фронтенд) к этим утилитам. А по сути всё это работает одинаково для всех ОС.

Добавить комментарий