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

  1. Официальные Git‑серверы Google (android.googlesource.com)

    • Можно просматривать дерево файлов, коммиты и конкретные файлы в браузере.
    • Удобно для поиска реализации конкретного класса или службы.
  2. Зеркала на GitHub

    • Более привычный интерфейс: поиск, просмотр файлов, удобные просмотры изменений.
    • Минус: зеркала могут обновляться с задержкой и быть не полностью синхронизированы с официальным репозиторием.
  3. Локально, после скачивания через 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 медленное — используйте официальные зеркала или прокси‑зеркала в вашей стране, но проверяйте синхронность веток.

Как начать: практический план действий

  1. Определите цель: чтение кода, патчинг фреймворка или сборка прошивки — от этого зависит объём скачиваемого и используемые инструменты.
  2. Подготовьте окружение:
    • Linux (Ubuntu/Debian), Git, корректная версия JDK, Python и инструменты сборки (make, ninja).
    • Планируйте свободного места: исходники — десятки ГБ; полная сборка может потребовать до ~150–200 ГБ.
  3. Скачайте исходники:
    • Установите repo, инициализируйте манифест для нужной ветки (напр., android-14) и выполните repo sync.
  4. Ориентируйтесь в дереве:
    • frameworks/ — код фреймворка и API.
    • packages/ — системные приложения и сервисы.
    • system/, hardware/, device/ — низкоуровневые компоненты и драйверы.
    • build/ — скрипты и конфигурации сборки.
  5. Сборка и отладка:
    • Собирайте таргетную конфигурацию (например 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 (назовите ветку/релиз) или помочь подготовить скрипт установки окружения.