Google обнародовала исходный код платформы Android 4.0.1 (кодовое название Ice Cream Sandwich — ICS) для сообщества разработчиков открытых платформ, а также исходный код Android 3.x (Honeycomb), который был закрыт с момента внедрения этой платформы на Android-планшетах в начале нынешнего года. Публикация кода последовала за выпуском седьмой версии набора инструментов разработки для данной платформы (Native Developer Kit — NDK), получившей дополнительные надстройки для работы с Android 4.0, в частности два новых набора программных интерфейсов API для работы с мультимедиа. Активисты сообщества разработки открытых технологий, однако, истолковали этот жест как признание того, что Android становится более проприетарной.

В записи от 14 ноября Жан-Батист Керу, инженер программного обеспечения проекта Google Android, в своем блоге объявил о публикации исходного кода обеих платформ на сайте группы разработчиков Google Android, предупредив при этом, что код Honeycomb является неполным, и попросил разработчиков обратить более пристальное внимание на ICS.

Действительно, в противоположность ICS, Google не отметила специфические компоненты, связанные с Honeycomb, тем самым фактически усложнив задачу для тех разработчиков, которые решили сконцентрироваться на этой платформе. Как предполагает Райан Пол из Ars Technica, это было сделано для того, чтобы “…сторонние разработчики не вздумали создавать сборки Honeycomb для Android”.

Несмотря на это, Пол допускает мысль, что анонсы ICS и Honeycomb все равно будут тепло встречены сообществом разработчиков и сторонниками открытых технологий, даже если Android станет менее открытой платформой, чем, скажем, ядро Linux.

“Сам факт, что Google может предоставлять исходный код любого релиза так, как посчитает нужным, а также то, что текущие процессы разработки Android происходят за закрытыми дверями, означает одно: чтобы Android стала действительно открытой платформой, необходимо сменить стиль управления проектом”, — пишет в блоге Пол.

Для сборки готового образа Android 4.0 для смартфона Samsung Galaxy Nexus, первого смартфона на Android 4.0, в древе исходного кода существует опция под названием “full_maguro”. Поставки LTE-смартфона Galaxy Nexus, который имеет двуядерный процессор с частотой 1,2 МГц и экран диагональю 4,65 дюйма, ожидаются 21 ноября от Verizon Wireless. В тот же день закончится раздача призовых Galaxy Nexus победителям викторин, которые Google проводит на протяжении десяти дней.

Платформа Android 4.0 объединяет кодовые базы 2.x для смартфонов Android 3.x Honeycomb для планшетов, заимствуя голографический дизайн пользовательского интерфейса от Honeycomb. Эта версия предполагает более простую модификацию приложений для маленьких смартфонов и других форм-факторов. Функциональные особенности ICS включают в себя программные кнопки навигации и переосмысленную концепцию клавиатуры, а также NFC-приложение Android Beam для P2P-связи.

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

В набор Android NDK вошли обновления для ICS

Релиз ICS для открытого сообщества следует за представленным компанией Google 11 ноября релизом седьмой версии набора инструментов разработки Android NDK, в которой обеспечена поддержка Android 4.0. Версия Android NDK v7 позволяет разработчикам, использующим родной код, начать использовать новые нативные прикладные программные интерфейсы (API), доступные в Android 4.0, о чем заявляет в своём блоге Ксавье Дюкройет, технический руководитель проекта Android SDK.

В эти прикладные программные интерфейсы входит новый набор API на основе Khronos OpenMAX AL 1.0.1, который, по заявлениям специалистов, предоставляет прямой и эффективный путь для потоковой передачи мультимедийных данных начального уровня. Другой набор включает в себя расширения существующего собственного API для аудио и основывается на Khronos OpenSL ES. Это позволит оригинальным приложениям декодировать сжатые аудиообъекты в формат PCM (pulse code modulation).

Доступность

Исходный код для Android 4.0.1 можно бесплатно загрузить с публичных git-репозитариев проекта Android. Керу отметил, что в связи с тем, что код ICS более объемный, загрузка займет довольно долгое время. Он предупредил, что те программисты, которые произведут синхронизацию до завершения загрузки, получат “битую” копию, непригодную для использования.