Вот вам наглядная демонстрация того, почему iOS до сих пор рулит.
Нынче стало модно ругать iOS, мол, тормозит, Apple уже не торт и, вообще, все плохо в «яблочном» мире, в то время как Android яростно рулит, педалит и очень быстро работает. Доля истины во всем этом есть, но это лишь доля. Не стоит в праведном гневе забывать о плюсах одной платформы и минусах другой. В поддержку этого я расскажу о своих увлекательных приключениях с обновлением Nexus 6, которые начались с момента его покупки два месяца назад и продолжаются по сей день.
Эталонный гуглофон, в том числе и по софту
Незнакомые с моим творчеством читатели легко могут заподозрить Романа Юрьева в бездумном фанбойстве в отношении к Apple и ее продукции. Знакомые же помнят, что я всегда старался относиться к обеим конкурирующим платформам ровно и если уж не горел дикой любовью к Android, воспринимал ее адекватно. Вот примеры:
- Битва идеологий: iOS против Android на примере Apple iPhone 3GS и Samsung Galaxy S
- Samsung Galaxy Note и вторая битва идеологий: iOS против Android
- Обзор Samsung Galaxy Note II: против всех, снова битва «железа», идеологий и платформ
- Впечатления от монстрофона Sony Xperia Z Ultra. Лучший Android-планшет
- Опыт эксплуатации большого планшетофона Huawei MediaPad X1 7. Бодрый «китаец» с приступами тугодумия
- 10 фишек Android, которых не хватает в iOS
Тем не менее, основной платформой всегда оставалась iOS в силу того, что для меня лично она банально удобнее, работать в ней комфортнее, плюс экосистема (iPhone + iPad + MacBook), как бы избито это ни звучало. Да, я экспериментировал, устраивал себе переезды на Android, но всегда возвращался на iOS, о чем так же детально рассказывал ранее:
- Месяц жизни с Android на OnePlus One или почему я постоянно возвращаюсь на iOS
При этом всегда хвалил смартфоны серии Nexus за их длительную и качественную программную поддержку, сравнивая ее с таковой у Apple. Все-таки продвигаемые и поддерживаемые самой Google устройства, оперативно получающие программные обновления в течение двух, а то и более лет. Хороший пример — Nexus 4 2012 года выпуска, которым владеет моя жена и который до сих пор еще бодрячком на фоне Android-смартфонов того же периода, но от других производителей. Официальный Android 6 ему уже не светит, но до Android 5.1.1 он был обновлен, и продолжает получать плановые ежемесячные апдейты. Работает довольно шустро и в качестве звонилки + минипланшета жену вполне устраивает.
Наэкспериментировавшись с Android-устройствами сторонних производителей, решил и себе для работы, гаджетоманской души и в качестве дополнительного смартфона приобрести эталонный «гуглофон» в лице Nexus 6. Уж очень он мне понравился, когда обозревал аппарат и сравнивал его с iPhone 6 Plus.
6-дюймовый AMOLED-дисплей (очень нравится именно эта технология и размер) с QHD-разрешением, отличный дизайн и, конечно же, всегда новейший Android на борту. Вот только не ждал я, что у эталонного «гуглофона», так сказать, «лица Android» все может быть настолько нестабильно и печально со стандартными функциями обновления прошивки. И, скажу вам честно, это мое самое большое разочарование в Google и ее платформе. Но, обо всем по порядку.
OTA-битва «iOS против Android»
OTA — это аббревиатура от «Over-The-Air», то есть, обновление «по воздуху», когда прошивка закачивается в смартфон через Wi-Fi или сотовую сеть, после чего автоматом устанавливается, сохраняя все данные пользователя. В Android эта фишка появилась немного раньше, чем в iOS, чем любители «робота» долгое время троллили владельцев iPhone/iPad. Хотя в итоге реализация OTA оказалась лучше у Apple.
Так, буквально на днях программно обновились практически все устройства Apple. Вышла iOS 9.1, OS X 10.11.1 и watchOS 2.0.1. У меня пять устройств Apple: iPad mini 2, iPad Air 2, iPhone 6 Plus, MacBook 12" и Apple Watch — все они обновились в течение получаса практически одновременно. Как происходил процесс:
- «Настройки → Основные → Обновление ПО → Установить iOS 9.1» для iPad и iPhone.
- «Запуск приложения Watch на iPhone → Основные → Обновление ПО → Установить watchOS 2.0.1» для Apple Watch.
- «App Store → Updates → Установить обновление OS X El Capitan 10.11.1» для MacBook.
- 30 минут и все гаджеты обновлены автоматом. При этом я не принимал никакого активного участия в процессе, а просто пил чай и расслаблял мозг после тяжелого трудового дня.
Чуть позже вышло OTA-обновление Android 6 Marshmallow для Nexus 6. Как происходил процесс:
- Система сообщила, что «».
- Нажал, перешел в меню установки, тапнул по кнопке «» и… облом. Моментально высветилось «», а кнопка сменила название на «Загрузить снова».
Давил кнопочку много раз, ждал несколько часов (вдруг ажиотаж и все такое, сервера Google не выдержали) — никакого эффекта. Каких-то манипуляций с системой я не проводил — ни рута, ни разблокированного загрузчика, ни даже стороннего лаунчера. Все стоковое, чистое и аккуратное. Как я решил проблему? Потратил час, а то и больше времени на то, чтобы установить обновление по шнурку, используя «Терминал», Android SDK, ADB и команду «sideload», манипуляции с самим смартфоном, чтобы ввести его в нужный режим (типа DFU в iPhone). В общем, было весело и чуть позже я расскажу насколько весело, но приключения начались намного раньше. Буквально сразу после того, как я распечатал новенький Nexus 6 и включил его, что происходило в Москве в час ночи. Если бы не тот опыт, стоивший мне четырех часов напряженного труда, то апдейт на Android 6 я бы ставил намного дольше.
Итак, что же произошло. Я распечатал Nexus 6, включил его, сделал базовую настройку, введя свою учетную запись Google. Потом операционная система бодро мне сообщила: «». На душе стало хорошо от ощущения того, что у меня в руках Android-смартфон с самой лучшей программной поддержкой от самой «корпорации Добра»! Конечно же, я согласился. Обновление шустро скачалось с серверов Google, телефон перезагрузился, начался процесс установки, все шло хорошо, но в конце я увидел вот такую печальную картину:
Повторюсь, это новенький, чистый флагманский Nexus 6, на который устанавливалось загруженное самой же Google ПО. «», подумал я и зажал на несколько секунд кнопку питания, чтобы аппарат перезагрузился. Как же я был наивен…
Система вроде бы загрузилась и начала стандартную оптимизацию программ, которая происходит каждый раз после обновления ОС. Причем процесс этот оооочень неспешный, даже на флагманских устройствах. В моем случае на него уходило минут 15–20. Вот только до конца он не доходил, на 49-м приложении телефон сам по себе уходил в перезагрузку и так по кругу.
У владельцев смартфонов Apple тоже случались казусы, я читал об этом, хоть сам с проблемами при OTA-обновлении iOS-устройств не сталкивался, хотя постоянно обновляю их именно так с того самого момента, как появилась возможность. Что в таком случае делать пользователю iPhone? Подключить смартфон к компьютеру через USB-кабель, запустить iTunes и нажать на одну кнопку «Восстановить iPhone». После этого автоматом загрузится нужная прошивка, установится, а если до того человек не поленился сделать резервную копию данных, то он успешно восстановит еще и адресную книгу, заметки, СМС и информацию/настройки из сторонних приложений.
Что же в таком случае предлагает Google? Сейчас я вам расскажу этот анекдот, который длится уже много лет. Ведь в Android поддержка OTA появилась раньше, чем в iOS, а вот с системой экстренной помощи «корпорация Добра» не разобралась до сих пор.
Наивный Рома полез в поисковик Google с запросом о восстановлении прошивки в Nexus, надеясь, что есть какое-то простое однокнопочное решение на манер такового у Apple. Ага, щаз!
Вот коротенько и в формате инструкции во что вылились мои 3-часовые приключения:
Необходимо скачать и установить Android Studio
А чтобы сделать это, нужна установленная Java в системе. Если речь об установке Android 6, то помимо упомянутого выше дистрибутива в процессе установки Android SDK потребует найти и установить еще и Java SE Development Kit 7.
Затем потребуется пройти в скрытую папку «Библиотеки», найти там «AndroidSDKplatform-tools». Всем этим хламом вы, извините, загаживали систему только ради двух файлов: adb и fastboot, которые используются для манипуляций с прошивкой Nexus.
Необходимо скачать нужную стоковую прошивку с Google Developers — их там много всяких, выбирать придется аккуратно.
После загрузки ее надо будет распаковать во временную папку, куда так же забросить и упомянутые выше файлы.
Для прошивки Nexus даже стоковой прошивкой нужно разблокировать загрузчик (bootloader).
Во-первых, загружаем Nexus в режиме «bootloader/fastboot», зажав на выключенном устройстве кнопки «».
Во-вторых, проверяем, а видит ли компьютер телефон, для этого в «Терминале» переходим в папку с прошивкой и раздобытыми выше файлами и вводим команду «fastboot devices». Если она покажет серийный номер подключенного телефона, значит все ок, можно двигаться дальше и вводить команду «fastboot oem unlock», затем перезагрузить телефон командой «fastboot reboot», после чего вновь ввести его в режим перепрошивки.
Теперь можно перепрошивать скачанной ранее и распакованной стоковой прошивкой. Снова через «Терминал».
И это оказалось не так просто, как я думал. Необходимо запустить скрипт «flash-all.sh», который по идее все сделает сам, но он ничего не делал. Гении Google не дописали там перед командами fastboot пару символов, если мне не изменяет память вот такие «./». Ок, руками все вписал, сохранил скрипт, началась перепрошивка, модема, еще чего-то — всего там по очереди заливается 5 или 6 файлов — но на самом большом, собственно операционной системе, высветилась ошибка. Телефон не перепрошивался и оставался «кирпичом».
Я долго и нудно искал причину, которая оказалась в какой-то неправильной версии модуля fastboot. В принципе сам виноват, так как пытался сэкономить время и взял рекомендуемый в инструкции архив с парой упомянутых модулей. В общем, таки поставил Android Studio, взял вроде бы правильные файлы, но вновь случился затык. Не перепрошивался телефон. И все это в 3 часа ночи. После тяжелого и напряженного дня. Забрасывать процесс не хотелось, так как под утро все полученные знания забудутся и придется снова собирать мозги в кучу, а времени на это тогда не было. Нужно все сделать сразу и забыть.
Прошивка всех файлов по очереди вручную.
Да, я все-таки добил процесс, найдя еще один метод, когда каждый файл прошивки закачивается в телефон вручную в строго определенной последовательности. После этого телефон ожил, заработал уже на Android 5.1.1, я все настроил, установил приложения и их тоже настроил. (Нормальная система резервирования данных на Android? Нет, не слышал.) На все про все еще минут 40 работы. А потом обнаружил, что вместо 64 ГБ система видит 32 ГБ. Оказалось, надо было после перепрошивки сделать так называемый «Wipe» — полностью обнулить смартфон, все кэши и т. п. Хотя это и так происходит в процессе прошивки.
Повторный Wipe.
Как вы понимаете, пришлось загружать телефон в режиме перепрошивки, находить в сервисном меню нужную команду, обнулять аппарат, после чего вновь устанавливать все свои приложения и настраивать Nexus.
Примерно таким образом мне пришлось устанавливать и OTA-обновление Android 6, скачав нужный файл (важно не ошибиться, так как «защиты от дурака» там нет — зашьешь что-то не то, получишь «кирпич»), установив Android Studio (так как все лишнее я с удовольствием снес после выше описанных приключений) и поработав с «Терминалом». Да, было намного быстрее, и не пришлось вновь переустанавливать все приложения, заливать медиаконтент и настраивать телефон. Но это операция далеко не для простых обывателей.
Доколе, Google?
К чему весь этот большой текст выше? Во-первых, надеюсь, он поможет кому-то из владельцев Nexus. Во-вторых, я хотел показать, насколько ВСЕ ПЛОХО у Google с, казалось бы, базовой функцией — восстановления телефона после сбоя, который произошел по вине самой компании.
Ладно, я опытный пользователь, умеющий работать с «Терминалом», пользоваться поиском Google, и не раз перепрошивавший смартфоны практически на всех актуальных платформах. А что в таком случае делать не столь опытным людям? Человек купил дорогой смартфон, самый лучший от Google, с самой хорошей программной поддержкой и получил «кирпич» сразу после первого обновления. Допустим, он потратил свое время и отнес аппарат в магазин/сервис/знакомому, ему перепрошили Nexus, а потом вновь облом, так как на автомате нельзя установить важное обновление системы.
На этом фоне, друзья, вопли, мол «», «», «» и прочие выглядят смешно. Да я молиться готов на Apple за то, что компания экономит мое время вот уже с 2008 года, когда всю свою работу я перевел на Mac и окончательно переехал на экосистему компании. Сколько было сменено фирменных ноутбуков, операционных систем, смартфонов и до сих пор у меня мое рабочее пространство, контент, приложения, документы еще с тех самых времен. Я переезжаю на новый ноутбук с помощью Time Machine или обновляю OS X вообще без напряга по нажатию одной кнопки. Я меняю свой смартфон на новый и в течение получаса, пока пью чай или кофе, получаю все свои приложения, данные и даже «сейвы» в игрушках. Да я только лишь на переезд между пятью Android-смартфонами потратил времени и сил на порядок больше, чем за семь лет работы с двумя десятками устройств Apple.
Так вот, доколе, Google? Что мешало компании за столько лет выпустить простое однокнопочное решение, которое позволяет хотя бы стоковую прошивку восстановить по нажатию одной кнопки? Я не думаю, что у столь могущественной корпорации нет на это возможностей. Да и разных моделей в серии Nexus единицы. Но компания этого не сделала, и если у вас возникнут проблемы с самым лучшим и весьма дорогим «гуглофоном», то это будут только ваши проблемы, на которые «корпорации Добра» плевать.
А что касается проблем iOS 9, то со временем все они будут решены. По крайней мере, раньше в подобных ситуациях Apple не подводила. У Android тоже проблем хватает до сих пор и их немало. В том числе и у самой новой версии. Но чтобы понимать это, необходимо пользоваться обеими платформами одновременно. Я пользуюсь и до сих пор делаю выбор в пользу iOS, как основной. Она продолжает экономить мое время, нервы, силы и, соответственно, деньги.
Android же пока личное время лишь тратит. Надеюсь, в будущем Google решит все «детские» проблемы платформы.
Источник: