Запрос «android открытый код» обычно означает одно из двух: пользователь хочет скачать исходники Android через проект AOSP (Android Open Source Project) или разобраться, какие части системы действительно открыты, а какие остаются закрытой собственностью Google. Ответ на первый вопрос — репозиторий source.android.com и инструмент repo, на второй — понимание структуры лицензий, о которой пойдёт речь ниже.
Открытость кода — фундаментальное свойство Android, отличающее его от iOS. Благодаря этому существуют кастомные прошивки вроде LineageOS, а производители смартфонов могут адаптировать систему под своё железо. Но открытость не абсолютна: часть компонентов распространяется под проприетарными условиями.
Что такое AOSP и что входит в открытый код Android
AOSP — официальный проект с открытым исходным кодом, который Google ведёт с момента выхода первой версии Android. В него входит ядро системы, фреймворки, системные приложения, инструменты сборки и документация. Именно эту кодовую базу производители берут за основу своих прошивок.
В открытую часть входят:
- 📦 Ядро Linux с модификациями для мобильных устройств
- ⚙️ Системные библиотеки и Android Runtime (ART)
- 🏗️ Application Framework — API для разработчиков приложений
- 📱 Базовые системные приложения: звонилка, контакты, launcher
- 🔧 Инструменты разработки:
adb,fastboot, эмулятор
Важно понимать: AOSP — это «голая» система без фирменных сервисов Google. Смартфон на чистом AOSP не будет иметь Google Play, Gmail, карт и push-уведомлений через инфраструктуру Google.
Какие компоненты Android остаются закрытыми
Не весь код на вашем смартфоне открыт. Значительная часть функций, к которым привыкли пользователи, реализована проприетарными компонентами.
| Компонент | Статус | Лицензия |
|---|---|---|
| Ядро Linux | Открытый | GPLv2 |
| Фреймворк и система | Открытый | Apache 2.0 |
| Google Mobile Services (GMS) | Закрытый | Проприетарная |
| Драйверы производителей чипов | Частично закрытый | Бинарные blob-файлы |
| Прошивки производителей (One UI, MIUI) | Частично открытый | Смешанная |
Самое важное различие: Android как платформа открыт, но экосистема Google поверх него — нет. Производители, желающие предустанавливать Play Store, обязаны получать лицензию GMS и проходить сертификацию совместимости.
⚠️ Внимание: бинарные драйверы (GPU, модем, камера) часто распространяются только в закрытом виде. Именно поэтому кастомные прошивки для многих устройств используют извлечённые из стоковой прошивки blob-файлы, а не собирают драйверы из исходников.
Лицензии: Apache 2.0 и GPLv2
Открытый код Android использует две основные лицензии, и разница между ними имеет практическое значение.
Apache License 2.0 покрывает большую часть пользовательского пространства — фреймворки, библиотеки, приложения. Она разрешительная: код можно изменять, использовать в коммерческих продуктах и не публиковать свои модификации. Именно поэтому производители могут создавать закрытые оболочки поверх AOSP.
GPLv2 применяется к ядру Linux. Это копилефт-лицензия: любой, кто распространяет модифицированное ядро, обязан опубликовать исходники изменений. Поэтому производители смартфонов выкладывают исходники ядра своих устройств — обычно на порталах вроде opensource.samsung.com или в репозиториях на GitHub.
Где скачать исходный код Android
Официальный источник — сайт проекта source.android.com. Код хранится в сотнях Git-репозиториев, поэтому для загрузки используется специальная утилита repo, написанная на Python.
Порядок действий для загрузки ветки AOSP выглядит так:
mkdir aosp && cd aosp
repo init -u https://android.googlesource.com/platform/manifest
repo sync
Перед этим потребуется Linux-система (официально поддерживается Ubuntu LTS) и заметный объём свободного места на диске — полное дерево исходников вместе с историей занимает десятки гигабайт, а для сборки нужно ещё больше. Точные системные требования меняются от версии к версии, поэтому сверяйтесь с актуальной документацией на сайте проекта.
☑️ Подготовка к загрузке AOSP
Как собрать Android из исходников
После загрузки кода систему можно скомпилировать. Процесс требователен к ресурсам: рекомендуется многоядерный процессор и большой объём оперативной памяти, иначе сборка займёт много часов.
Общая последовательность такова:
- 🛠️ Выполнить
source build/envsetup.shдля настройки окружения - 🎯 Выбрать цель командой
lunch— например, сборку для эмулятора или конкретного устройства - ⚡ Запустить компиляцию командой
makeс указанием числа потоков - 💾 Получить готовые образы в каталоге
out/target/product/
Для реальных устройств дополнительно понадобятся проприетарные бинарные драйверы — для поддерживаемых моделей Pixel Google публикует их отдельно. Без этих файлов собранная прошивка не сможет полноценно работать с железом.
Кастомные прошивки на базе открытого кода
Открытость AOSP породила целую экосистему альтернативных прошивок. Наиболее известная — LineageOS, наследница CyanogenMod. Такие проекты добавляют функции, которых нет в стоковом Android, продлевают поддержку старых устройств и убирают зависимость от сервисов Google.
Помимо LineageOS существуют специализированные сборки: ориентированные на приватность (GrapheneOS для Pixel), минималистичные, построенные вокруг проекта /e/OS. Все они используют открытый код AOSP как фундамент.
⚠️ Внимание: установка кастомной прошивки требует разблокировки загрузчика, что на большинстве устройств приводит к потере гарантии и удалению данных. Возможность разблокировки зависит от производителя и даже региона — уточняйте политику для своей модели до начала любых действий.
Почему Google делает Android открытым
Открытая модель позволила Android быстро захватить рынок: производители получили готовую систему бесплатно, а Google — распространение своих сервисов. Открытый код также снижает барьер входа для разработчиков и исследователей безопасности, что в перспективе укрепляет всю экосистему.
Открытый код и безопасность
Доступность исходников работает в обе стороны. Исследователи могут аудировать систему и находить уязвимости до злоумышленников — Google платит вознаграждения за найденные баги через программу bug bounty. С другой стороны, злоумышленники тоже изучают код.
Практический вывод для обычного пользователя: своевременные обновления безопасности важнее, чем кажется. Патчи сначала попадают в AOSP, а затем производители адаптируют их для своих устройств — отсюда и задержки с обновлениями на многих моделях.
Часто задаваемые вопросы
Полностью ли Android открыт?
Нет. Открыта базовая система (AOSP), но сервисы Google, многие драйверы и фирменные оболочки производителей остаются закрытыми. Смартфон «из коробки» — это смесь открытого и проприетарного кода.
Можно ли использовать код Android в коммерческом продукте?
Да, лицензия Apache 2.0 это разрешает. Ограничение касается ядра Linux под GPLv2: модификации ядра при распространении устройства нужно публиковать. Торговая марка Android и сервисы Google требуют отдельного лицензирования.
Где найти исходники ядра для конкретного смартфона?
Производители обязаны публиковать их по условиям GPLv2. Обычно код размещается на официальных open-source порталах брендов или на GitHub. Ищите раздел «Open Source» на сайте производителя вашей модели.
Сколько места нужно для загрузки и сборки AOSP?
Зависит от версии, но закладывайте десятки гигабайт на исходники и ещё столько же на результат сборки. Точные требования указаны в документации на source.android.com для каждой версии.
Чем AOSP отличается от Android на моём телефоне?
AOSP — чистая базовая система без сервисов Google и фирменных приложений. На вашем телефоне поверх неё установлены GMS, оболочка производителя и предустановленные программы, большинство из которых закрыты.