Android 4.3 для Sony Xperia в подробостях

от автора

Как вы знаете, недавно был большой день для всех поклонников Sony и Android — корпорация Google опубликовала исходный код Android 4.3, а это значит, что производители уже вовсю заняты подготовкой обновлений. Обновление программного обеспечения являются очень важным аспектом работы над устройствами и мы постоянно работаем над улучшением и ускорением этого процесса. Предлагаем вашему вниманию небольшой рассказ о том, как он организован. Добро пожаловать под хабракат!

В целом, процесс обновления программного обеспечения состоит из четырех этапов: разработки, тестирования, сертификации и утверждения. На этапе разработки, мы добиваемся того, что программное обеспечение стабильно работает на наших устройствах, а также занимаемся интеграцией старых и новых фирменных функций (таких, как Walkman, STAMINA и др.). По сравнению с разработкой ICS этот процесс стал более эффективным, в первую очередь — благодаря тесному сотрудничеству с Google и Qualcomm.

В ходе фазы тестирования, сертификации и утверждения, мы должны убедиться, что ПО соответствует технологическим стандартам и нормативным требованиям. Это гарантирует, что продукт, который мы выпускаем тщательно проверяется на предмет корректной работы со всеми компонентами наших устройств.


Процесс работы над обновлением — от исходного кода, до готового апдейта.


Фредрик Экстранд, руководитель программы по управлению продуктами, отвечает за планирование обновлений

Первое, что мы делаем на этапе разработки — добиваемся того, чтобы ядро системы Android (boot, kernel и hardware-компоненты) корректно и стабильно работало на наших устройствах, это является необходимым условием для дальнейшей интеграции.

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

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


Иллюстрация показывает, как процесс обновления программного обеспечения был улучшен с помощью PDK и AOSP.

“Получая доступ к PDK, мы можем приступить к разработке значительно раньше. Благодаря AOSP, мы можем приступить к работе над обновлениями, как только будет доступен исходный код новой версии Android. Обратите внимание, что эта картинка представлена в иллюстративных целях и не отражает фактические сроки.” — Говорит Фредрик.

Еще одной важной частью фазы разработки является конфигурация компонентов HAL. Сложность заключается в том, что мы используем множество различных микросхем, камер, сенсоров, дисплеев и т.д. Разумеется, далеко не все из них соответствуют эталонному дизайну и должны быть заново интегрированы с новым ПО — эта работа целиком лежит на нас. Важной частью является HAL для сенсоров, мы разработали динамический HAL для сенсоров под названием DASH, исходный код которого уже размещен на GitHub (). Все изменения, которые мы будем вносить в DASH также будут публиковаться на GitHub, в том числе и конфигурационные файлы для сенсоров.

Когда основные работы над ядром ​​Android и HAL закончены и результат достаточно стабилен, приходит очередь работы над основными функциями, такими как телефонные звонки, обмен сообщениями и подключение к Интернету. На данном этапе, мы обычно начинаем «dogfooding» — внутреннее распространение нового программного обеспечения среди круга пользователей, не вовлеченных напрямую в процесс разработки. На этом этапе релиз работает уже достаточно стабильно для повседневного использования, хотя некоторых функций еще нет на своем месте и могут встречаться разнообразные ошибки. Это обеспечивает нам много полезного фидбэка и позволяет обнаружить и исправить различные дефекты на самой ранней стадии.

“В разработке программного обеспечение существует эмпирическое правило, которое гласит, что если программа достаточно стабильна для того, чтобы быть продемонстрирована, значит 90% работы еще впереди. Во время работы над ICS мы достигли этой стадии в течение двух недель — билд был достаточно хорош для нормального использования, не считая мелких сбоев, но, в то же время, впереди было еще много рутинной работе по интеграции различных фирменных функций и поиску багов во всех уголках операционной системы” — рассказывает Фредерик Экстранд

Другой задачей на этом этапе является интеграция ряда собственных программных исправлений и улучшений, которые отличают нашу версию от базового “Андроида”. Чтобы избежать фрагментации кода, большинство этих патчей отправляются в Android Open Source Project и, в дальнейшем, будут включены в код новых релизов. Также, на этом этапе, мы интегрируем собственные графические компоненты, пользовательский интерфейс, некоторое количество собственных API, а также обеспечиваем корректную работу аппаратов с разными операторами в различных регионах.

“- То, что у нас теперь есть AOSP делает нашу работу над исправлениями и улучшениями легче, а в долгосрочной перспективе означает, что мы должны будем делать значительно меньше патчей для интеграции в каждую новую версию Android.”

Уже на этом этапе ведется постоянное тестирование. В первую очередь мы фокусируемся на проверке новых изменений и улучшений, затем мы должны убедиться, что более ранние наши разработки, а также компоненты, разработанные Google также работают на должном уровне.

Как уже говорилось ранее, мы добавляем ряд собственных функций, которые отличают нашу версию Android от базовой. В их число входит новый экран блокировки, рабочий стол, телефонная книга, плеер Walkman, видеоплеер, фотоальбом, приложение для обмена сообщениями, экран настроек, ввод текста, календарь, почтовый клиент, локализация и различные компоненты пользовательского интерфейса. Так как мы уже имеем работающую версию Android 4.3 на наших устройствах, разработчики могут начать тестирование наших собственных компонентов непосредственно на AOSP.

Когда все наработки объединены вместе, мы начинаем целенаправленно тестировать ПО на стабильность. Кроме чистых “лабораторных” испытаний, и «dogfooding’а”, мы полагаемся на ряд пользователей внутри и вне компании. Наряду с чистой проверкой стабильности, мы проводим тесты энергопотребления. После того как продукт стабилен и полностью протестирован приходит время сертификации (впрочем, если какой-либо компонент готов раньше других, например еще на первом этапе, он отправляется на сертификацию раньше других). Мы должны убедиться, что аппаратная и программная часть соответствует стандартам Bluetooth, Wi-Fi и другим. Все это является необходимым условиям использования этих технологий в нашей продукции и, конечно же, делается для обеспечения ее максимального качества. Также, на этом этапе, мы решаем различные юридические вопросы, например связанные с интеллектуальной собственностью. По возможности мы стараемся получать глобальные сертификаты, однако, в некоторых случаях требуется особая местная сертификация, в общей сложности мы должны получить специальные сертификаты в 80 странах, для этого мы, либо проводим собственное тестирование и предоставляем доказательства того, что продукция их прошла, либо предоставляем это внешним тестерам. Многие пользователи жаловались на задержки при выпуске обновлений ICS и ругались на медлительных разработчиков, в чем были неправы — фаза разработки была завершена в срок, а задержка возникла именно на стадии сертификации и утверждения.

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

“Очевидно, что всех интересует, насколько быстро будет готово обновление, не могу точно сказать прямо сейчас, так как мы только начали работу, но с уверенностью могу заявить, что теперь у нас есть все необходимое для выполнения этой работы в кратчайшие сроки”

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

ссылка на оригинал статьи http://habrahabr.ru/company/sonyxperia/blog/190896/


Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *