Статьи
Где мой Android 7.0 Nougat? Или почему ваш старый смартфон (скорее всего) не получит обновление

Где мой Android 7.0 Nougat? Или почему ваш старый смартфон (скорее всего) не получит обновление

Где мой Android 7.0 Nougat? Или почему ваш старый смартфон (скорее всего) не получит обновление


Наши читатели в комментариях часто поднимают тему отсутствия обновлений смартфонов на операционной системе Android вне зависимости от их стоимости. Наши зарубежные коллеги из Ars Technica также задались этим вопросом и решили досконально исследовать проблему, чтобы выяснить в чем же кроется корень вселенского зла. Мы предлагаем перевод их замечательной статьи.

Перед началом исследования сразу стоит обратить внимание на то, что далеко не все крупные производители Android-смартфонов охотно делятся своими планами по обновлению до следующей версии Android. И если внимательно проанализировать официальные списки Sony, Google, HTC и других, вы заметите, что всех их объединяет один очень важный момент. В них нет ни одного смартфона более чем одно- или двухгодичной давности. К сожалению, пока что это норма для экосистемы Android. И похоже, что это вина не только «ленивых» производителей смартфонов, у которых слишком мало стимулов, чтобы обеспечить качественную поддержку всего, что вам уже продали. Sony, например, работала над Android 7.0 Nougat для Xperia Z3 выпущенного в «далёком» 2014 году и даже добавила его в официальную девелоперскую программу по переходу на Android 7.0. Только для того, чтобы убрать его из списка поддерживаемых уже на этапе тестирования последних бета-версий и финального релиза Nougat.

После погружения в тему и общения с компетентными людьми, мы вынуждены признать неприятный факт: выпустить актуальное официальное обновление для устройств использующих процессоры Qualcomm Snapdragon 800 или 801 (в том числе и Z3), будет либо очень сложно, либо абсолютно невозможно. И это очень важно, поскольку эти два процессора используются практически в каждом Android-флагмане, продававшемся с конца 2013 до конца 2014 года и в нескольких более поздних устройствах. И эта ситуация имеет далеко идущие последствия для экосистемы Android.

И хотя это может показаться заманчивым — переложить вину на какую-то одну конкретную компанию – на Google, в первую очередь за создание откровенного бардака с обновлениями, на Qualcomm за отказ от поддержки старых процессоров или на производителей смартфонов, ответственных за неспособность идти в ногу с новым программным обеспечением – на самом деле виноваты все.

Как происходит официальное обновление Android

HTC-Anatomy-of-an-Android

Эта, немного устаревшая на данный момент, инфографика, выпущенная HTC несколько лет назад, является одной из лучших иллюстраций (больше информации можно почерпнуть вот здесь) того, что представляет собой крупное обновление Android. На довольно ранних сроках этого процесса производителям чипов, таким как Qualcomm необходимо решить, какие SoC из линейки собственных продуктов они будут официально поддерживать. «Поддерживаемые» чипы получают новые оптимизированные и протестированные драйвера GPU, модема, и других важных компонентов системы-на-чипе, после этого чипмейкер выпускает обновленное ПО в рамках универсального пакета поддержки платформы (Board Support Package), распространяемого среди производителей смартфонов. В итоге BSP, исходный код Android от Google, и все предоставленные OEM-приложения и оболочки компонируются и отправляются потребителям как обновления Android, которые могут быть установлены при условии, что смартфон соответствует требованиям совместимости Google.

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

Основываясь на собственных исследованиях автора Ars Technica (и беседах с участниками, которые предпочли не называть своего имени), создаётся впечатление, что главным барьером на пути к обновлению Android 7.0 на старых устройствах, является то, что Qualcomm не предоставляет поддержку процессоров Snapdragon 800 и 801. Когда компанию напрямую спросили о поддержке Nougat этими SoC, в официальной пресс-службе ответили:

Qualcomm Technologies, Inc. работает в тесном контакте с нашими клиентами, чтобы определить устройства, поддерживаемые различными версиями ОС Android на наших чипах Snapdragon. Продолжительность поддержки процессоров и обновлений версий операционной системы доступных для той или иной модели определяется в сотрудничестве с нашими клиентами. Мы рекомендуем Вам обратиться к производителю устройства или носителя информации по вопросам поддержки Android 7.0 Nougat.

Данное заявление не подтверждает того, что Qualcomm отказывается реализовать поддержку Nougat в своих старых чипах, но при этом компания пытается переложить ответственность на своих клиентов (то есть ОЕМ-производителей). Проще говоря, компания Qualcomm в состоянии обеспечить поддержку Nougat для старых процессоров, но так как незначительное число производителей Android-смартфонов фактически запросили обновление, Qualcomm решила не утруждать себя этим.

Почему это важно?

Это определенно не первый случай, когда Android-устройства постигает преждевременная смерть из-за отсутствия поддержки оборудования и драйверов. Вспомним, например, Galaxy Nexus. Его жизнь оборвалась, когда производитель Texas Instruments покинул рынок ARM-чипов. «Это было действительно экстраординарное событие», — несколько месяцев спустя рассказывал Дэйв Берк, вице-президент по разработке в Google и менеджер программы Nexus — «Девелопер просто ушёл с рынка и в здании ни души, с кем бы можно было пообщаться».

В нашем случае разница заключается в том, что Qualcomm не Texas Instruments и никуда не собирается. Компания до сих пор не только жива и здорова, но и доминирует на рынке высокопроизводительных ARM-чипов, и это утверждение два или три года назад было ещё актуальней, чем сегодня. И если вы покупаете флагманский Android-смартфон, с большой вероятностью, это окажется смартфон на платформе Qualcomm.

Это означает, что компания имеет крайне важное значение в этой цепочке – если она решает не обновлять Android, выбирает не выпускать драйвера для данного чипа, то это отражается на огромном количестве пользователей. Такое отношение становится примером для других производителей: если лидер рынка не поддерживает свои процессоры дольше чем два или три года, почему более мелкие игроки, как MediaTek, Samsung и остальные должны об этом беспокоиться?

И вот здесь создаётся порочный круг – на практике производители (как правило) перестают обновлять свои смартфоны после года-двух существования. Следовательно, чипмейкеры перестают волноваться о сервисном обслуживании своих платформ старше года или двух, и поэтому производители не могут обновить свои смартфоны старше года или двух, даже если захотят. Отсюда выходит 18-месячный минимальный показатель, который Google за последние 5 лет молчаливо и бездушно довела от «минимального» до «в лучшем случае» сценария. При этом пользователи, не покупающие новый смартфон в день официального старта продаж, страдают ещё больше, поскольку у большинства устройств период обновления определяется сроком запуска, а не по дате изъятия модели с рынка.

Недостающая часть головоломки: проверка совместимости

Некоторые сотрудники компании Sony работавшие над поддержкой Nougat для Xperia Z3, подняли и другие вопросы, касающиеся совместимости Android 7.0 и старого оборудования. Один из них честно признался, что некоторые «технические и юридические» барьеры препятствовали выходу финальной версии прошивки с Android 7.0 для Z3, и далее в той же теме отметил, что смартфон не прошёл набор тестов на совместимость от Google (CTS). В теме также присутствовали некоторые предположения о том, что CTS для Android 7.0 требует устройства с поддержкой нового графического API Vulkan и поэтому отсутствие у Qualcomm обновлений драйверов GPU для Snapdragon 800 и 801 не позволяет им соответствовать конкретным требованиям. Это объяснение является ошибочным по нескольким причинам, – например, Nexus 9 не поддерживает Vulkan, и при этом полностью совместим с Nougat. Плюс ко всему, в старом оборудовании невозможно просто добавить поддержку такого API как Vulkan, каким-либо низко затратным способом, если только графический процессор не был разработан с учётом этого условия. GPU Adreno 400-й и 500-й серий системы-на-чипе Snapdragon 805 и выше уже поддерживают новый API, но GPU Adreno 300-й серии в Snadragon 800 и 801 – однозначно нет, неважно, обновлены драйвера или нет.

Google также изменила суть CTS для Nougat. Предыдущие версии CTS были сосредоточены в основном на том, чтобы Android работала как задумано, OEM-производители могли внести изменения во внешний вид и работу устройства, но API Google должны были оставаться первозданными. Благодаря этому приложения работали должным образом на всех, санкционированных Google, Android-устройствах. Новая CTS-версия Nougat делает упор на тесты производительности и стресс-тесты оборудования, предусматривая, что Google желает, чтобы обновляемый до Nougat смартфон соответствовал определенным минимальным требованиям производительности.

Обновленный документ по определению совместимости Android дал бы нам больше информации о том, что это за требования, но Google до сих пор не удосужилась его опубликовать. А без него остаётся лишь гадать: то ли в Google в той или иной форме повысили требования Android к производительности, с которыми Snapdragon 800 и 801 не справляются (возможно, это связано с низкой производительностью шифрования хранилища данных, если Nougat закрывает эту лазейку, – пункт, который в Marshmallow был необязательным). То ли это отсутствие обновленных, стабильных драйверов от Qualcomm для Nougat каким-то образом приводит к сбою при запуске тестов на совместимость.

А как насчёт обновлений безопасности?

Всё, о чём мы говорили до сих пор, применимо, главным образом, к крупным обновлениям Android, которые добавляют новые API и вносят изменения на уровне системы. Но за последний год или около того, Google также предложила небольшие ежемесячные обновления безопасности специально для борьбы с высокоуровневыми уязвимостями, получившими нелепые названия, вроде «Heartbleed» или «Quadrooter». Производителям наверняка не требуется разрабатывать новые драйвера, чтобы применить эти патчи безопасности, поэтому вы можете установить их, не имея самую последнюю, самую лучшую версию Android. Google заявляет, что эти исправления могут быть установлены на «как минимум, три последних релиза Android» (KitKat, обе версии Lollipop и Marshmallow). Предположительно, некоторые, наиболее старые версии этих обновлений станут неактуальны после выхода Nougat, и мы не берёмся прогнозировать, что произойдёт с обещаниями Google по поводу выпуска новых заплаток, когда Android перейдёт на более частые, регулярные обновления. Но по крайней мере сейчас вам не понадобится иметь под рукой последнюю версию Android, чтобы получать новые патчи безопасности.

Виноваты все

Подведём итог и вспомним всех, кого стоит обвинять, когда вы задаётесь вопросом, почему ваш смартфон двухлетней давности не получит Android 7.0 Nougat:

  • Производителя вашего смартфона за отвратительное предоставление поддержки устаревшим смартфонам и медленное обновление актуальных.
  • Компанию Qualcomm и других чипмейкеров, которые в ответ на недостаточный спрос ОЕМ-производителей полностью отказались от поддержки процессоров возрастом более трёх лет.
  • Компанию Google, за, вероятно, повышенные требования к производительности Android и, безусловно, виновную за создание такой хаотичной ситуации. С обновлениями, в первую очередь.

И если ваш смартфон под управлением Lollipop или Marshmallow так и не дождался обновления, это значит, что его производитель или ваш контрактный сотовый оператор виновны в этом в первую очередь (и печальная новость заключается в том, что планы многих производителей касательно обновления в лучшем случае не определены).

А для тех, кто всё-таки желает обновить своё устройство, тому, кто готов мириться с определенной нестабильностью и проблемами безопасности, использовать апдейты, не требующие прохождения тестов на совместимость, установка сторонних прошивок, таких как CyanogenMod, может дать такую возможность (например, Samsung Galaxy S2 получил поддержку Android 6.0). Но, к сожалению, этот вариант не выглядит реалистичным для большинства пользователей, обманутых производителями, которым они отдали свои кровные.


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: