Android Open Source Project (AOSP): устройство, сборка и отличия от стокового Android

Разработчик, впервые скачавший исходный код AOSP через repo sync, обнаруживает репозиторий объёмом в десятки гигабайт — и это только код, без учёта кэша сборки и инструментов компиляции. Именно с этого шага начинается практическое знакомство с Android Open Source Project: открытой базой, на которой построены почти все Android-устройства в мире.

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

Что такое AOSP и зачем он существует

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

Основная цель проекта — дать производителям устройств единую открытую основу, чтобы они не создавали мобильную ОС с нуля. Поверх AOSP каждый вендор добавляет свои драйверы, оболочки и сервисы. Именно поэтому «чистый» AOSP и прошивка конкретного смартфона — не одно и то же.

Проверить, что устройство работает на основе AOSP, просто: любой сертифицированный Android содержит компоненты этого проекта в своей основе, а номер сборки и версию системы можно посмотреть в разделе Настройки → О телефоне.

Архитектура AOSP: из чего состоит система

Структура проекта построена слоями — от ядра до пользовательских приложений. Понимание этих слоёв помогает ориентироваться в дереве исходников и понимать, где искать нужный компонент.

  • 🔧 Ядро Linux — основа с драйверами оборудования и управлением памятью.
  • ⚙️ HAL (Hardware Abstraction Layer) — слой абстракции между железом и фреймворком.
  • 📚 Android Runtime (ART) и системные библиотеки — среда выполнения приложений.
  • 🧩 Application Framework — API, через которые работают приложения.
  • 📱 Системные приложения — базовый набор: звонилка, контакты, настройки.

Каждый слой находится в своём каталоге исходного дерева. Например, фреймворки лежат в frameworks/, системные сервисы — в system/, а инструменты сборки — в build/. Навигация по этим каталогам — первый навык, который нужен при работе с проектом.

Чем AOSP отличается от прошивки на смартфоне

Частая путаница: пользователи называют «чистым Android» прошивки производителей, хотя те содержат массу добавлений. Различия принципиальны, и их стоит понимать перед любыми экспериментами с системой.

КритерийЧистый AOSPПрошивка производителя
Сервисы GoogleОтсутствуют (GMS не входит в AOSP)Предустановлены при сертификации
Драйверы устройствНужны отдельные бинарные компонентыВстроены под конкретное железо
Фирменные оболочкиНет, базовый интерфейсOne UI, MIUI и аналоги
ОбновленияСобираются самостоятельноПриходят по OTA от вендора
НазначениеОснова для разработкиГотовый продукт для пользователя

Ключевой момент: Google Mobile Services (Play Market, сервисы push-уведомлений, карты) не являются частью AOSP и лицензируются отдельно. Поэтому самосборная прошивка из чистого AOSP не будет иметь привычного магазина приложений без дополнительных шагов.

⚠️ Внимание: установка самосборной или сторонней прошивки обычно требует разблокировки загрузчика, что может привести к потере гарантии и удалению всех данных устройства. Процедура разблокировки различается у разных производителей — сверяйтесь с официальной документацией конкретной модели.
📊 Зачем вам интересен AOSP?
Изучаю разработку под Android
Хочу собрать кастомную прошивку
Интересуюсь устройством системы
Работаю над устройством на Android

Как проект развивается: ветки, теги и релизы

Разработка ведётся в системе контроля версий Git, а управление сотнями репозиториев проекта обеспечивает инструмент repo. Каждой крупной версии Android соответствуют свои ветки и теги в дереве исходников.

После публичного релиза новой версии Android Google публикует соответствующий код в AOSP. Производители берут этот код за основу, адаптируют под своё железо и выпускают обновления. Этот процесс занимает время — поэтому обновления на устройствах появляются позже анонса платформы.

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

Что такое Project Treble

Это архитектурное изменение, которое отделило vendor-реализацию (драйверы и HAL производителя) от системного раздела Android. Благодаря этому обновление ОС теоретически не требует переработки драйверов, что ускоряет выход обновлений и упрощает портирование прошивок.

Сборка AOSP из исходников: общий порядок

Сборка системы — ресурсоёмкая задача. Потребуется машина на Linux (официально поддерживаются сборки на Ubuntu) с большим объёмом оперативной памяти и свободного дискового пространства — исходники вместе с результатами сборки занимают сотни гигабайт. Точные требования зависят от версии платформы и публикуются в официальной документации AOSP.

Общая последовательность выглядит так:

☑️ Подготовка к сборке AOSP

Выполнено: 0 / 6

Загрузка исходников выполняется так:

repo init -u https://android.googlesource.com/platform/manifest -b <ветка>

repo sync

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

⚠️ Внимание: для прошивки реального устройства нужны проприетарные бинарные компоненты (драйверы) от производителя. Без них собранная система может не загрузиться или потеряет часть функций — камеру, модем, графическое ускорение.

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

На базе AOSP построены известные кастомные прошивки — например, семейство LineageOS и другие community-проекты. Они берут открытый код, добавляют поддержку конкретных устройств, исправления и дополнительные функции.

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

Перед установкой любой сторонней прошивки проверьте: есть ли официальная поддержка именно вашей модели, какие функции работают, а какие нет (это обычно указано в теме прошивки), и существует ли способ вернуться к стоковой системе.

Лицензии и правовые аспекты

Открытость кода не означает полную свободу действий. Большая часть AOSP распространяется под Apache License 2.0, которая разрешает использование и модификацию, в том числе коммерческую. Ядро Linux распространяется под GPLv2, что накладывает обязательство публиковать изменения ядра.

Отдельного внимания заслуживает товарный знак: название Android и логотип робота принадлежат Google. Производитель может использовать эти марки только при соблюдении требований совместимости (CDD) и прохождении тестов (CTS). Поэтому устройства на AOSP без сертификации формально не могут называться «Android-устройствами».

⚠️ Внимание: если вы разрабатываете коммерческий продукт на базе AOSP, проконсультируйтесь с юристом по вопросам лицензирования товарных знаков и сертификации — правила меняются и зависят от рынка и типа устройства.

Часто задаваемые вопросы

Можно ли установить чистый AOSP на любой смартфон?

Нет. Для работы системы нужны драйверы конкретного железа, которые публикует не каждый производитель. На практике проще всего собирать AOSP для эмулятора или устройств с открытой поддержкой.

Входит ли Google Play в AOSP?

Нет. Магазин приложений и сервисы Google (GMS) — проприетарные компоненты, лицензируемые отдельно. Самосборная прошивка из AOSP работает без них.

Сколько места нужно для сборки AOSP?

Исходники и результаты сборки занимают сотни гигабайт дискового пространства; также требуется значительный объём оперативной памяти. Точные требования зависят от версии платформы — смотрите официальную документацию AOSP.

Чем AOSP отличается от LineageOS?

AOSP — исходный открытый проект от Google. LineageOS — кастомная прошивка, построенная на коде AOSP с добавлением поддержки конкретных устройств и дополнительных функций.

Нужно ли разблокировать загрузчик для сборки AOSP?

Для самой сборки — нет, код можно собрать и запустить на эмуляторе. Разблокировка загрузчика требуется только для прошивки результата на физическое устройство, и процедура зависит от производителя.