Несколько лет назад обновить программное обеспечение (ПО) на телефоне можно было только с помощью кабеля, подключения к ПК и настройки специального софта. Новый алгоритм OTA обновления намного проще и отвязывает смартфон от компьютера, что позволяет обновлять устройство самостоятельно.
Значение термина
Сокращение OTA можно считать неполным. Если сделать полноценную расшифровку, получится FOTA – firmware over the air. Если перевести на русский получится программное обеспечение от производителя по воздуху. Таким образом можно понять, что после отсеивания буквы «F» остаётся только часть «по воздуху».
Это способ передачи данных, необходимых для обновления программного обеспечения, с помощью беспроводных каналов связи. То есть, способ, игнорирующий провода и подключение смартфона к другим устройствам.
Способы обновления
В зависимости от используемого способы подключения к телефону применяются следующие варианты OTA обновлений:
- Wi-Fi. Сложно найти телефон или даже электронную книгу (кроме тех, что откровенно устарели), которые не обладают функцией подключения к беспроводной сети. Если эта сеть предоставляет доступ к Интернету, то с её помощью можно выполнить обновление ПО. Преимуществом является стабильное подключение и высокая скорость соединения.
- Мобильный Интернет. В целом edge и 3g сети, имеющие различия в реализации (на стороне провайдера) выполняют одну функцию – предоставление интернета в регионах, где есть покрытие мобильной связи. Если специально не отключать обновления таким образом, то сделать update своего ПО можно в любом месте. Имеются риски потери подключения, поскольку в некоторых регионах мобильный интернет нестабилен, но на качестве получаемого пакета это не отразится.

Не стоит забывать, что есть сети заведений и предприятий, где подобная деятельность блокируется. Например, сидя в кафе можно посещать интернет ресурсы, но вот сменить «прошивку» телефона нельзя.
Содержимое таких обновлений
Общий объём OTA update может колебаться от 2 МБ (hotfix для последних firmware) до 1 ГБ (полноценный переход на новую версию Android с изменением некоторых функциональных возможностей и интерфейса). В такой файл входят:
- Структурная часть, которая делится на файлы типа «patch», «meta-inf» и «system». В себе они содержат следующую информацию:
- inf – список, содержащий инструкции для установки. Какой компонент и куда;
- system – крупные изменения, которые существенно меняют работу компонентов;
- patch – небольшие исправления.
- Файл проверки версии ПО. Он позволяет программе убедиться, что она устанавливается на «стоковую» (от разработчика) версию системы. Это отключает пользовательские («кастомные») прошивки от обновления (поскольку сочетание «стоковых» и «кастомных» данных может навредить аппарату).
- Контроль обновления. Список компонентов доступных для апдейта, который сверяется с информацией в аппарате. Может сэкономить время, если какие-то подпрограммы установлены ранее.
- «Чистильщик». Сверяется с «контролем обновлений» и подчищает старые данные (те, что были улучшены в процессе).
- Инструкции. Наборы последовательных команд, которые призваны исключить конфликты. Например, чтобы не требовались удалённые «чистильщиком» компоненты, а сразу запрашивались новые. Также тут регулируется порядок и очередь установки исправлений.
- Инструкции прав доступа. Собственно, показывают firmware, что его хотят заменить на его улучшенный вариант.
Специфика распространения
Имеет смысл остановиться на примерах Xiaomi и Samsung. Эти фирмы используют оригинальную политику. Она включает такие этапы:
- Изначально последнюю версию прошивки предоставляют тестерам. Они проверяют её работу по заданным алгоритмам.
- Доступ к прошивке малому числу пользователей. 1% зарегистрированных в соответствующих сервисах пользователей, в качестве контрольной (и подопытной тоже) группы получают новейшее ПО. Если на этом этапе начинают поступать жалобы тестирующей группы, прошивка отзывается и отправляется на доработку. Если жалобы плохо обоснованы («раньше интерфейс был на 2 пикселя левее, мне удобнее верните») доступ к обновлению получает большее число пользователей.
- Охватывается большее количество пользователей – примерно 25%. На этом этапе всплывают некоторые недоработки и запускаются быстрые исправления (не полные переделывания, как на Этапе 2). Однако, продукт уже себя показал и можно давать его большому числу людей.
Стоит понимать, что, если у 5% пользователей возникнут какие-то проблемы, обновление откатывается. - Полный доступ. К этому этапу уже устранены основные неисправности и неполадки и обновление становится общедоступным.
Данный процесс, не смотря на сложность описания занимает 2-3 месяца. При этом первый этап может отнять до 75% времени. Обычно контрольная группа получает максимально рабочий продукт.
Требования для установки
Фактически требования сводятся к необходимости иметь «стоковую» систему, которая функционирует так, как запланировано разработчиком. Что приводит пользователя к следующим требованиям:
- Отсутствие root-прав на телефоне. В этом случае можно получить ошибку «OTA обновление не поддерживается на рутованном устройстве».
- Базовый загрузчик без изменений. Если пользователь не в курсе, что за загрузчик – это значит, что у него стоит базовый.
- «Стоковая» прошивка. То есть, пользовательские, взятые с разных ресурсов работать не будут.
- Отсутствие изменений в системных файлах.
Единственным фактором, не зависящим от ПО телефона, является заряд батареи. Если он ниже определённого порога (от 30 до 50%) – появляется следующее предупреждение.
Достаточно просто зарядить телефон и повторить процедуру.
Процедура установки
Сама процедура OTA обновления реализована предельно просто, никаких настроек OTA обычно не предусмотрено:
- Запустить «Настройки» телефона.

- Выбрать пункт «О телефоне».
- Перейти в раздел «Беспроводное обновление» или «Обновление системы».

- Если доступно какое-то из firmware update будет предложен следующий экран:

- Подтвердить действие или выйти из настроек, если ничего не найдено.