Где найти исходный код Android и официальную документацию на source.android.com

Исходный код Android и официальная инженерная документация доступны на source.android.com — там собраны Git‑репозитории AOSP, инструкции по установке repo, сборке, портированию и требованиям совместимости (CTS, GSI и др.). Ниже — краткий практичный план работы и ссылки на нужные разделы внутри сайта.

Source.android.com — не для написания приложений: это ресурс для сборки системы, портирования устройств и внесения изменений в AOSP.

Как скачать исходники и начать сборку

  1. Установите зависимости (Git, Python, утилиты сборки) на Linux.
  2. Установите инструмент repo (README в разделе "Getting the source").
  3. Выберите ветку/релиз по Build ID (например android-14.0.0_rX).
  4. Выполните: repo init -u -b , затем repo sync.
  5. Настройте окружение (source build/envsetup.sh), выберите target (lunch), и соберите (m или make). Практически: начните с маленькой сборки (eng или userdebug) и тестирования в эмуляторе или на устройстве GSI.

Где смотреть официальную документацию на сайте

Основные разделы, которые стоит открыть сразу:

  • Overview / Introduction — общая архитектура и модель безопасности.
  • Architecture — ART, framework, Binder, system services.
  • Build System / Building Android — подробности про envsetup, lunch, типы сборок.
  • Porting / Device Configuration — device trees, Board Support Package, vendor.
  • HAL, Drivers — контракты HAL для камер, аудио, сенсоров.
  • Compatibility / CTS и Updates / OTA — требования совместимости и механизмы обновлений. Ищите версии документации по релизу: многие страницы помечены для конкретного API level.

Используйте внутренний поиск сайта по ключевым словам (binder, sepolicy, Treble, GSI) и проверяйте, что страница относится к вашей версии Android.

Практические советы и темы, которые часто упускают

  • Сборка: настройте кэш (ccache/sccache) и подберите -j, чтобы ускорить и стабилизировать процесс.
  • Патчи и ревью: изучите правила оформления commit‑message и workflow Gerrit для отправки изменений.
  • Отладка: системные логи (logcat SystemServer), dmesg, трассировка ядра и анализ ANR/CRASH важнее простого grep по коду.
  • Навигация: по имени сервиса в документации быстро находите реализацию в дереве AOSP через поиск по модулям и package names.

Много информации в блогах устарела; всегда сверяйте детали с той версией source.android.com, которая соответствует вашему релизу.

Частые ошибки

  • Неправильная ветка: синхронизируют мастер‑ветку вместо релизной — сборка падает.
  • Пропуск зависимостей: забывают установить нужные пакеты (Java, build tools) до repo init.
  • Ожидание, что все устройства официально поддержаны AOSP — многие драйверы закрыты и находятся у вендора.

FAQ

  • Где физически хранится код? В множестве Git‑репозиториев AOSP; site служит навигацией и инструкциями.
  • Что такое repo? Менеджер множественных Git‑репозиториев, используемый в AOSP.
  • Нужно ли читать developer.android.com? Да — если вы пишете приложения; source.android.com — для платформенной работы.

Стартовый чек-лист: выбрать релиз → установить repo и зависимости → repo init/sync → собрать минимально работоспособный образ → протестировать на эмуляторе/GSI → переходить к портированию или патчингу.