Код AOSP проходит через разные ветки, прежде чем он будет объединен в официальный выпуск. На рис. 1 показаны различные этапы жизненного цикла этого выпуска:
Рисунок 1. Жизненный цикл выпуска AOSP.
Ниже приведены этапы жизненного цикла:
Внешние участники могут загружать и изменять последнюю ветку выпуска для своего устройства, а также предлагать изменения кода для следующей версии AOSP в этой ветке.
Информацию о жизненном цикле проектов разведки и добычи см. в разделе Жизненный цикл проектов разведки и добычи .
Google рассматривает и, в случае принятия, отбирает предложенные изменения в последней ветке выпуска во внутреннюю ветку разработки Google. Эта ветка доступна только внутри Google, и именно здесь Google добавляет новые функции для следующего выпуска.
Периодически на основе внутренней ветки разработки создается внутренняя ветка выпуска. Google может внести в эту ветку выпуска изменения, направленные на исправление ошибок и улучшение производительности.
В какой-то момент Google перемещает код из внутренней ветки выпуска в последнюю ветку выпуска (указанную в манифесте
android-latest-release
), чтобы создать доступную только для чтения копию ветки выпуска на общедоступном хосте AOSP.
Жизненный цикл добывающих проектов
Код исходного проекта поступает во внутреннюю ветку разработки и выполняет шаги 3 и 4 на предыдущей диаграмме. Исходный код публикуется в следующей ветке выпуска. Восходящий проект — это проект с открытым исходным кодом, из которого AOSP извлекает код. Помимо таких проектов, как ядро Linux и WebKit, Google переносит на AOSP некоторые полуавтономные проекты Android, такие как ART, инструменты Android SDK и Bionic. Вы можете внести непосредственный вклад в некоторые проекты, связанные с разработкой. Подробности см. в разделе «Внесение вклада в вышестоящий проект» .