Открыть сервис

Android Open Source Project

Android Open Source Project (AOSP) — это проект с открытым исходным кодом, поддерживаемый компанией Google, на основе которого создаётся операционная система Android. AOSP представляет собой базовую платформу, включающую ядро Linux, набор библиотек, системные службы, стек приложений и инструменты для разработки. Любой разработчик или производитель может загрузить исходный код, модифицировать его, адаптировать под собственные устройства и распространять без лицензионных отчислений, при условии соблюдения лицензий Apache 2.0 и GPLv2 (для ядра Linux).

История

Создание и ранние версии

Проект AOSP был анонсирован 5 ноября 2007 года, одновременно с основанием альянса Open Handset Alliance (OHA), в который вошли Google, HTC, Intel, Motorola, Samsung, Qualcomm и другие компании. Первая версия Android, основанная на AOSP, была выпущена в сентябре 2008 года для смартфона HTC Dream (T-Mobile G1). Исходный код был опубликован под свободными лицензиями, что позволило сторонним разработчикам изучать, изменять и распространять систему.

Развитие под управлением Google

С 2008 года Google выпускает новые версии AOSP синхронно с релизами Android. Каждая версия получала кодовое имя в алфавитном порядке (Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, Pie, Android 10, 11, 12, 13, 14, 15). Начиная с Android 10 (2019 год), Google отказалась от десертных названий в пользу числовых обозначений.

Переход к модели с закрытыми компонентами

Хотя AOSP остаётся открытым, с 2010-х годов Google начала выносить ключевые компоненты из открытого кода в закрытые проприетарные сервисы (Google Play Services, Google Mobile Services — GMS). Это привело к тому, что «чистый» AOSP лишён многих функций, привычных пользователям современных Android-устройств: магазина приложений, синхронизации с облаком, push-уведомлений, голосового помощника и т.д. Производители, желающие предустанавливать GMS, обязаны заключать лицензионные соглашения с Google и проходить процедуру сертификации.

Архитектура AOSP

AOSP имеет многоуровневую архитектуру, типичную для современных операционных систем:

Ядро Linux

Основой AOSP является модифицированное ядро Linux. Google использует Long Term Support (LTS) версии ядра, адаптируя их под мобильные устройства: добавляются драйверы для сенсорных экранов, камер, датчиков, а также механизмы энергосбережения (wakelocks, early suspend). В отличие от настольных дистрибутивов Linux, в AOSP отсутствует X Window System или Wayland — графический вывод осуществляется через Surface Flinger.

Аппаратная абстракция (HAL)

Уровень аппаратной абстракции (Hardware Abstraction Layer, HAL) предоставляет стандартизированные интерфейсы для взаимодействия системных служб с драйверами устройств. HAL позволяет производителям реализовывать поддержку своего «железа» без изменения вышележащих компонентов AOSP. Типичные модули HAL: камера, аудио, сенсоры, GPS, NFC, Bluetooth.

Системные службы

Сердцем AOSP является набор системных служб, работающих на виртуальной машине ART (Android Runtime) или Dalvik (в старых версиях). Ключевые службы:

  • Activity Managerуправление жизненным циклом приложений и задачами.
  • Window Manager — управление окнами и поверхностями.
  • Package Manager — установка, удаление и обновление приложений.
  • Content Providers — доступ к данным между приложениями.
  • Notification Manager — управление уведомлениями.
  • Location Manager — определение местоположения.
  • Telephony Manager — управление сотовой связью.

Среда выполнения (ART)

Начиная с Android 5.0 Lollipop, AOSP использует среду выполнения ART (Android Runtime), которая компилирует байт-код приложений в машинный код при установке (AOT-компиляция) или во время выполнения (JIT-компиляция). ART заменил Dalvik, обеспечив более высокую производительность и меньшее энергопотребление.

Библиотеки

AOSP включает набор системных библиотек на C/C++, реализующих базовые функции: libc (Bionic — собственная реализация стандартной библиотеки C), libcrypto, libssl, libz, libpng, libjpeg, libsqlite, libmedia, libwebcore (движок WebKit) и другие. Для графики используется Skia (2D) и OpenGL ES / Vulkan (3D).

Прикладной уровень

Базовая прошивка AOSP содержит минимальный набор предустановленных приложений: Launcher (рабочий стол), Dialer (звонки), Contacts (контакты), Browser (браузер на WebKit), Calendar (календарь), Camera (камера), Clock (часы), Settings (настройки), Calculator (калькулятор), Messaging (SMS/MMS). Эти приложения также являются открытыми и могут быть заменены или модифицированы.

Лицензирование

AOSP распространяется под двумя основными лицензиями:

  • Apache License 2.0 — для большинства кода (фреймворк, приложения, системные службы). Разрешает коммерческое использование, модификацию и распространение без обязательства публиковать изменения.
  • GNU General Public License v2 (GPLv2) — для ядра Linux и некоторых связанных модулей. Требует, чтобы производные работы распространялись под той же лицензией (copyleft).

Такая двойная лицензия позволяет производителям создавать закрытые проприетарные прошивки на основе AOSP, не раскрывая свои модификации, если они не затрагивают ядро.

Использование и форки

Производственные прошивки производителей

Практически все коммерческие Android-устройства (смартфоны, планшеты, телевизоры, автомобильные системы) базируются на AOSP. Производители (Samsung, Xiaomi, Huawei, Oppo, Vivo и др.) берут исходный код, добавляют собственные драйверы, пользовательские интерфейсы (One UI, MIUI, EMUI, ColorOS) и набор предустановленных приложений. При этом они часто заменяют стандартные приложения AOSP на собственные.

Кастомные прошивки

Сообщество энтузиастов создаёт неофициальные прошивки на основе AOSP, которые не содержат проприетарных сервисов Google. Наиболее известные проекты:

  • LineageOS (ранее CyanogenMod) — наиболее популярная кастомная прошивка, поддерживающая сотни устройств.
  • AOSP Extended (AEX) — прошивка с расширенными настройками.
  • Pixel Experience — прошивка, имитирующая интерфейс Google Pixel.
  • GrapheneOS — прошивка с фокусом на безопасность и приватность.
  • CalyxOS — прошивка с усиленной защитой конфиденциальности.

Android без сервисов Google

Существуют версии AOSP, полностью лишённые Google Mobile Services. Например, Android Open Source Project (AOSP) в чистом виде используется в некоторых устройствах для развивающихся рынков (например, Nokia от HMD Global), а также в проектах /e/OS (основана на LineageOS) и MicroG (замена GMS с открытым исходным кодом). В России такие прошивки иногда используются для обхода блокировок и ограничений, связанных с сервисами Google.

Критика и ограничения

Фрагментация экосистемы

Открытость AOSP привела к сильной фрагментации Android: производители выпускают обновления версий ОС с большими задержками или вовсе не обновляют устройства. Это создаёт проблемы с безопасностью и совместимостью приложений. Google пытается решить эту проблему через Project Treble (начиная с Android 8.0) и модульную архитектуру (Mainline).

Зависимость от проприетарных компонентов

Хотя AOSP является открытым, большинство пользователей Android используют устройства с предустановленными Google Play Services, которые являются закрытыми и контролируются Google. Это создаёт зависимость от одной компании и ограничивает свободу пользователей. В ответ на это развиваются проекты, такие как MicroG, но они не обладают полной функциональностью.

Проблемы безопасности

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

Влияние на рынок

AOSP стал основой для самой распространённой мобильной операционной системы в мире. По данным на 2024 год, доля Android на рынке смартфонов превышает 70%. Проект стимулировал развитие экосистемы приложений, появление тысяч моделей устройств разных ценовых категорий и демократизацию доступа к мобильным технологиям. В то же время, доминирование Google в экосистеме вызывает критику со стороны сторонников открытого ПО и антимонопольных регуляторов.

Источники

  • Android Open Source Project. Официальный сайт и документация.
  • Google. «Android Security & Privacy Year in Review 2023».
  • LineageOS. Официальная вики и история проекта.
  • GrapheneOS. Официальная документация.
  • Open Handset Alliance. Официальный сайт.
  • Статья «Android (operating system)» в Wikipedia.
  • «Android: A History of Open Source» — анализ на сайте Ars Technica.
  • «The State of Android Security» — отчёт компании Lookout.
  • «Android Fragmentation Report» — OpenSignal.
  • «MicroG Project» — официальный сайт.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →