source.android.com (AOSP): что это такое и где смотреть исходники Android
Source.android.com — это официальный портал с документацией AOSP; сам код хранится в десятках Git‑репозиториев (android.googlesource.com и зеркала). Для быстрого просмотра используйте веб‑интерфейсы Google или GitHub, для разработки скачивайте весь AOSP через repo и собирайте локально.
Коротко — что такое AOSP и роль source.android.com
AOSP (Android Open Source Project) — это открытая базовая версия Android: framework, системные службы, стандартные приложения и скрипты сборки. В AOSP нет проприетарных Google‑сервисов (GMS, Play и т. п.). Source.android.com — это не «обозреватель файлов», а подробная документация: архитектура, инструкции по сборке, требования для OEM и описания релизов.
Source.android.com — входной портал и пошаговые гайды; реальные исходники находятся в Git‑репозиториях Google и на зеркалах.
Где и как реально смотреть исходники AOSP
-
Официальные Git‑серверы Google (android.googlesource.com)
- Можно просматривать дерево файлов, коммиты и конкретные файлы в браузере.
- Удобно для поиска реализации конкретного класса или службы.
-
Зеркала на GitHub
- Более привычный интерфейс: поиск, просмотр файлов, удобные просмотры изменений.
- Минус: зеркала могут обновляться с задержкой и быть не полностью синхронизированы с официальным репозиторием.
-
Локально, после скачивания через repo
- Для серьёзной работы скачивайте AOSP: repo управляет множеством Git‑репозиториев и собирает их в единое дерево.
- Пример команд:
- Установка repo (если не установлен): curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
- Инициализация манифеста: repo init -u https://android.googlesource.com/platform/manifest -b android-14
- Синхронизация: repo sync -j8
- После синхронизации открывайте код в IDE (Android Studio/VS Code/CLion) для навигации, поиска и сборки.
Если соединение к android.googlesource.com медленное — используйте официальные зеркала или прокси‑зеркала в вашей стране, но проверяйте синхронность веток.
Как начать: практический план действий
- Определите цель: чтение кода, патчинг фреймворка или сборка прошивки — от этого зависит объём скачиваемого и используемые инструменты.
- Подготовьте окружение:
- Linux (Ubuntu/Debian), Git, корректная версия JDK, Python и инструменты сборки (make, ninja).
- Планируйте свободного места: исходники — десятки ГБ; полная сборка может потребовать до ~150–200 ГБ.
- Скачайте исходники:
- Установите repo, инициализируйте манифест для нужной ветки (напр., android-14) и выполните repo sync.
- Ориентируйтесь в дереве:
- frameworks/ — код фреймворка и API.
- packages/ — системные приложения и сервисы.
- system/, hardware/, device/ — низкоуровневые компоненты и драйверы.
- build/ — скрипты и конфигурации сборки.
- Сборка и отладка:
- Собирайте таргетную конфигурацию (например aosp_arm64) и тестируйте на эмуляторе или устройстве.
- Для конкретных устройств требуются проприетарные бинарники и device/ зависимости от вендора.
Без device‑специфичных бинарников и драйверов собрать рабочую прошивку для конкретного телефона обычно невозможно.
Частые ошибки
- Выбрана неверная ветка (branch/tag) — код не совпадает с документацией или сборочными скриптами.
- Недостаточно места на диске; repo sync прерывается.
- Неправильная версия JDK или отсутствующие системные пакеты — сборка падает с неочевидными ошибками.
- Ориентация на GitHub‑зеркало, которое отстаёт от официального репозитория.
- Ожидание, что source.android.com покажет все файлы — это документация, не браузер репозиториев.
FAQ
-
Можно ли просмотреть весь код на source.android.com?
Нет. Там — документация и ссылки; сами репозитории доступны в веб‑интерфейсе android.googlesource.com или на зеркалах. -
Где найти конкретный файл реализации (например, ActivityManager)?
Ищите в официальном репозитории через android.googlesource.com или клонируйте соответствующие репозитории локально и делайте поиск по дереву. -
Сколько места нужно для AOSP и сборки?
Исходники — десятки гигабайт; для полной пользовательской сборки и кэша сборки рассчитывайте до 150–200 ГБ. -
Можно ли использовать Windows?
Официально рекомендовано Linux; для Windows есть WSL2, но может потребоваться дополнительная настройка и больше усилий.
Если хотите, могу сгенерировать конкретную командную последовательность под вашу версию Android (назовите ветку/релиз) или помочь подготовить скрипт установки окружения.