Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Android Software Management

Android Open Source Project (AOSP) поддерживает полный программный стек, который переносится OEM-производителями и другими разработчиками устройств и работает на их собственном оборудовании. Чтобы поддерживать качество Android, Google предоставила постоянных инженеров, менеджеров по продуктам, дизайнеров пользовательских интерфейсов, тестеров по обеспечению качества и все другие роли, необходимые для вывода на рынок современных устройств.

Соответственно, мы поддерживаем ряд строк кода, чтобы четко отделить текущую стабильную версию Android от нестабильной экспериментальной работы. Мы внедряем администрирование с открытым исходным кодом и поддержку кодовых строк Android в более крупный цикл разработки продукта.

Управление кодом AOSP

На приведенной ниже диаграмме представлены концепции управления и выпусков кода AOSP.

диаграмма кодовой линии
Рисунок 1. Код и релизы AOSP
  1. В любой момент, есть последняя версия платформы Android. Это обычно принимает форму ветви в дереве.
  2. Разработчики и разработчики устройств работают с текущей последней версией, исправляют ошибки, запускают новые устройства, экспериментируют с новыми функциями и так далее.
  3. Параллельно Google работает над следующей версией платформы и платформы Android в соответствии с потребностями и целями продукта. Мы разрабатываем следующую версию Android, работая с партнером по устройству на флагманском устройстве, спецификации которого выбраны для продвижения Android в том направлении, которое, как мы считаем, должно идти.
  4. Когда n + 1-я версия готова, она публикуется в общедоступном дереве исходных текстов и становится новой последней версией.

Условия и предостережения

  • Релиз соответствует официальной версии платформы Android, такой как 1.5 или 8.1. Релиз платформы соответствует версии в поле SdkVersion файлов AndroidManifest.xml и определен в frameworks/base/api в дереве исходного кода.
  • Восходящий проект - это проект с открытым исходным кодом, из которого стек Android извлекает код. Помимо таких проектов, как ядро ​​Linux и WebKit, мы продолжаем миграцию некоторых полуавтономных проектов Android, таких как ART, инструменты Android SDK и Bionic, для работы в качестве исходных проектов. Как правило, эти проекты разрабатываются полностью в общедоступном дереве. Для некоторых вышестоящих проектов разработчики вносят непосредственный вклад в вышестоящий проект. Для получения дополнительной информации см. Проекты Upstream . В обоих случаях снимки периодически вытягиваются в выпуски.
  • Во все времена кодовая строка релиза (которая может состоять из нескольких веток в git) считается единственным каноническим исходным кодом для данной версии платформы Android. OEM-производители и другие устройства для создания групп должны извлекать информацию только из ветки релиза.
  • Экспериментальные кодовые линии устанавливаются, чтобы фиксировать изменения сообщества, чтобы их можно было повторять с целью обеспечения стабильности.
  • Изменения, которые оказываются стабильными, в конечном итоге помещаются в ветку релиза. Это относится только к исправлениям ошибок, улучшениям приложений и другим изменениям, которые не влияют на API-интерфейсы платформы.
  • При необходимости изменения вносятся в ветки релизов из вышестоящих проектов (включая вышестоящие проекты Android).
  • N + 1-я версия (следующая основная версия API-интерфейсов платформы и платформы) разработана компанией Google для внутреннего использования. Для получения дополнительной информации см. Private codelines .
  • При необходимости изменения извлекаются из веток разработки, выпуска и экспериментальных веток в частную ветку Google.
  • Когда API-интерфейсы платформы для следующей версии стабилизированы и полностью протестированы, Google прекращает выпуск следующей версии платформы (в частности, новой SdkVersion ). Это соответствует внутренней кодовой линии, которая становится открытой веткой релиза, и новой текущей кодовой строке платформы.
  • Когда новая версия платформы вырезана, в это же время создается соответствующая экспериментальная кодовая строка.

Частные коды

Приведенная выше стратегия управления исходным кодом включает в себя кодовую строку, которую Google скрывает, чтобы сосредоточить внимание на текущей общедоступной версии Android.

OEM-производители и другие производители устройств, естественно, хотят поставлять устройства с последней версией Android. Аналогично, разработчики приложений не хотят иметь дело с большим количеством версий платформы, чем это необходимо. Между тем, Google сохраняет ответственность за стратегическое направление Android как платформы и продукта. Наш подход фокусируется на небольшом количестве флагманских устройств для реализации функций при обеспечении защиты интеллектуальной собственности, связанной с Android.

В результате Google часто обладает конфиденциальной информацией от третьих лиц и должна воздерживаться от раскрытия конфиденциальных функций до обеспечения соответствующих мер защиты. Кроме того, существуют реальные риски для платформы, если слишком много версий платформы существуют одновременно. По этим причинам мы структурировали проект с открытым исходным кодом (включая сторонние материалы), чтобы сосредоточиться на текущей общедоступной стабильной версии Android. Глубокая разработка следующей версии платформы происходит в закрытом режиме, пока она не станет официальной версией.

Мы признаем, что многие участники не согласны с таким подходом, и мы уважаем их точку зрения. Тем не менее, это тот подход, который мы считаем лучшим и который мы выбрали для реализации на Android.