Есть ли техническая причина, почему история обновления Android так плоха?

16

Есть ли техническая причина, по которой телефоны Android вообще сильно отстают от стабильно выпущенной версии Android?

Это касается обоих новых телефонов, например, недавняя поездка в телефонный магазин, все было 4.0 до 4.2.1, KitKat не было видно. А также старые телефоны, iPhone 4 моей подруги имел OTA-обновление до последней ОС, это телефон июля 2010 года, в то время как Android июля 2010 года - это в основном пресс-папье.

Предположительно, сам Android не заботится о реальном оборудовании и, таким образом, общается с ОС через абстракции? Я думаю, что тогда производитель мобильных телефонов просто предоставляет драйверы для конкретного оборудования, поэтому я не вижу проблемы с загрузкой OTA-обновлений, если ABI остается стабильным (мой телефон не поддерживает новые аппаратные функции).

Мэтт Фрёман
источник
В любом случае мы имеем forum.xda-developers.com/...
samnaction
Аппаратные драйверы являются внутренними для ядра, а ABI не является внутренне стабильным. Также нет строгого соответствия между версией Android и версией ядра; производители могут включать или не включать обновления ядра в обновления пользователя. Если это так, бинарная совместимость с существующими драйверами отсутствует. Однако основная нагрузка на производителя все равно будет связана с адаптацией к новому пользовательскому пространству - я не понимаю, насколько характер ABI здесь особенно важен.
Златовласка
Ваш последний абзац подсказывает мне, что у вас неправильное представление о том, сколько Android делает за кулисами. Абстракции и интерфейсы должны постоянно меняться для поддержки новых аппаратных функций, а также лучшего представления программного обеспечения. Возможно, вы могли бы задать дополнительный вопрос об этом.
Дан Халм,
За исключением того, что обновленный iphone теперь работает как собака и в любом случае вынуждает вас обновлять аппаратное обеспечение, тогда как телефон Android работает так же, как и когда-либо, и просто не имеет новых функций.
Джеймс Райан

Ответы:

18

Смотрите это изображение, выпущенное HTC. Он описывает процесс обновления в очень подробной форме:

Анатомия обновления ОС Android

Изображение изменено (нажмите, чтобы увидеть полный размер)

MPeti
источник
Редактирование t0mm13b сломало URL (версия user11153 была правильной). Из-за минимальной длины редактирования 6 символов я не могу это исправить. Может кто-нибудь взглянуть? Правильный URL-адрес: i.stack.imgur.com/yMMX3.jpg (примечание: не yMMX3m.jpg, это миниатюра)
jmiserez
2
@jmiserez - я превратил маленькую миниатюру в ссылку на полноразмерную версию, так как это изображение довольно велико, чтобы отображать его прямо в ответном IMO.
Compro01
17

У телефонов Android есть как минимум 2 пальца, которых нет у айфонов: производитель оборудования и сетевой оператор. Производители оборудования часто учитывают коммерческие секреты своих драйверов и поэтому должны изучить код новых версий и затем адаптировать свои драйверы. Производители также часто предоставляют собственные «скины», которые должны быть обновлены для новой версии, а иногда и полностью переработаны. Любые изменения должны быть одобрены перевозчиками. Они часто добавляют свои собственные функции, которые должны быть обновлены / переработаны и протестированы. Затем они должны запустить сетевые тесты для каждого телефона, чтобы убедиться, что он не приведет к сбою сети. Хотя эти тесты должны продолжаться и для iPhone, они, вероятно, проводятся до выпуска новой версии, поскольку Apple может выпустить сразу все телефоны с новой версией для тестирования, прежде чем код будет выпущен даже разработчикам.

LeBeau
источник
10

Это вопрос из двух частей. В части 1 спрашивается, почему телефоны Android не получают самое последнее обновление, и другие ответы дали на них адекватный ответ. Часть 2 спрашивает, почему старые телефоны часто никогда не получают новейшее обновление, и пока не получил ответа.

Как говорит ЛеБо, помимо Google есть и другие заинтересованные стороны. Google только создает новые версии, и, помимо телефонов, которые он создает напрямую, как, например, линия Nexus, он мало что говорит о том, когда и когда другие помещают их в телефоны. Также, как говорит Лебо, все эти заинтересованные стороны должны изучить новую версию, прежде чем они смогут ее реализовать. Вот почему телефоны получают новые версии позже, и почему некоторые телефоны, такие как Nexuses, получают версии раньше всех, потому что Google уже изучил новую версию.

Что касается второй части, производители оборудования хотят, чтобы мы продолжали покупать новые телефоны каждые пару месяцев, верно? Иначе, как они будут держать все это тесто, если мы будем продолжать использовать наши старые телефоны? Они были бы в том же положении, в котором находятся компьютерные компании: с хранилищем и оперативной памятью достаточно для любых целей, зачем покупать новое оборудование? Ответ заключается в том, чтобы прекратить обновление старых телефонов, поэтому, если нам нужны новейшие функции, мы должны получить новый. Google, вероятно, делает это не так сильно, поскольку уже продает вам Android, так почему он должен продавать ваши телефоны, но, вероятно, делает это немного. Сетевые операторы, со своей стороны, вероятно, помогут с их драконовскими правилами, такими как предотвращение рутирования (иначе вы аннулируете свою гарантию). Вот почему, как вы говорите, " a July 2010 android is basically a paperweight".

Что касается вашего комментария о том, что улучшения «в основном пользовательские», я не знаю, как все это работает, но я уверен, что это не так просто. Обновления могут быть в программном обеспечении, но не все программное обеспечение общается с пользователем. Кроме того, производители оборудования надевают «скины» на наши телефоны, поэтому мы не видим внутреннюю работу, и вполне вероятно, что, когда они, наконец, обновятся до последней версии, они добавят в себя что-то новое, чтобы телефон HTC One Android 4.2 отличается от телефона Samsung Galaxy SIV на Android 4.2. Вероятно, либо HTC, либо Samsung выпускают некоторые новые функции для установки 4.3, и вы даже не замечаете, что они это сделали. Затем, когда, скажем, HTC One не обновляется до 4.3, но HTC Two делает (я делаю это), вы вынуждены заставить HTC Two получить (некоторые из) новые функции 4.3, а также некоторые функции 4.2 вы не получили с HTC One. Я не уверен, что это произойдет, но это нормальная деловая процедура, поэтому я не удивлюсь.

trysis
источник
4

Я думаю, что существует ряд причин, по которым обновления для устройств Android так медленны:

  1. Время, необходимое производителю, чтобы применить свои настройки к новой версии и убедиться, что все работает нормально, может быть довольно долгим. Это улучшилось за последний год или около того, так как Google предоставил им Android PDK или Platform Development Kit, которые должны позволить им работать над своими настройками за несколько месяцев до того, как публика узнает о следующей версии Android.

  2. Время, которое требуется сетям для тестирования обновления и применения их настроек.

  3. У производителей практически нет стимулов для применения обновления (особенно на устройствах старше 1 года), поскольку они пытаются продавать свои новейшие устройства покупателям.

  4. Большинство клиентов не знают или не заботятся о том, какая версия Android установлена ​​на их устройстве, поэтому зачем производителю тратить время и деньги на обновление устройства до последней версии.

Вы также можете посмотреть на эту статью, в которой более подробно рассказывается, в том числе, почему Apple может выпускать обновления «намного быстрее» (в основном потому, что они контролируют как аппаратное, так и программное обеспечение).

bmdixon
источник
3

В дополнение к невероятно длинной инфографике HTC в ответе Mpeti вышли другие производители и рассказали, почему их обновления отстают от официальных выпусков Google и почему они не выпускают обновления для более старых моделей:

Sony Mobile : Ice Cream Sandwich - от выпуска исходного кода до обновления программного обеспечения , отдельные выдержки и заголовки ниже:

Однако, прежде чем мы сможем развернуть эти обновления программного обеспечения, необходимо выполнить множество действий, чтобы в первую очередь заставить Ice Cream Sandwich работать и стать стабильным на всех телефонах Sony Ericsson. Мы называем это фазой поднятия.
Во-вторых, и, возможно, самое главное, мы должны сертифицировать и утвердить новый выпуск программного обеспечения со всеми различными технологиями, сетями и оборудованием, с которыми должен работать современный смартфон. Мы называем это этапом сертификации и одобрения.

  • Фаза поднятия: заставить Ice Cream Sandwich работать на наших телефонах
  • Интеграция патчей для Android
  • Получение стабильного программного обеспечения и добавление локализации
  • Этап сертификации и утверждения: обеспечение соответствия программного и аппаратного обеспечения
  • Могут потребоваться дополнительные разрешения
  • Многие операторы также хотят настроить программное обеспечение в соответствии со своими требованиями

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

У Motorola была хорошая запись в блоге на эту тему, но, похоже, за последние несколько месяцев они удалили весь свой старый блог. Однако у машины Wayback есть архивная копия: Archive.org: Обновление Motorola на Ice Cream Sandwich , выбранный текст и заголовки ниже:

Как только исходный код выпущен из Google, он не обновляется автоматически на вашем устройстве.

Каждая новая версия Android запускается с одним партнером по устройству, что называется «Google Experience Device» или GED, демонстрационным устройством для новой версии Android. Партнер GED для каждого запуска работает с Google во время разработки ОС, так что устройство и новая версия Android готовы к скоординированному одновременному запуску.

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

  • Объедините и адаптируйте новый выпуск для различных аппаратных архитектур устройств и настроек носителей.
  • Стабилизировать и «испечь» результат, чтобы устранить ошибки
  • Отправить обновление для перевозчиков для сертификации
  • Выполните предварительную версию для клиента
  • Отпустите обновление

Мы планируем обновить как можно больше наших телефонов. Возможность предложить обновление зависит от ряда факторов, включая возможности аппаратного обеспечения / устройства, поддержку программного обеспечения базового набора микросхем, поддержку ICS, а затем возможность поддержки программного обеспечения Motorola с добавленной стоимостью.

Кроме того, PC Mag, почему потребуется так много времени, чтобы обновить телефоны до «Ice Cream Sandwich»

GAThrawn
источник
2

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

Затем процесс повторяется для перевозчика, что снова занимает несколько месяцев.

Yos233
источник
Хм ... Это реальность ситуации, которую я предполагаю, но если улучшения в основном "пользовательские", то они сохраняют аппаратный ABI на основных версиях, если этот процесс не будет более упорядоченным. В таком случае, блоги и т. Д. Мы действительно должны сравнить iOS 7.1 с Android 6.2
Mâtt Frëëman