Обзор AOSP,Обзор AOSP

Android — это операционная система для широкого спектра устройств разных форм-факторов. Документация и исходный код для Android доступны каждому как Android Open Source Project (AOSP) . Вы можете использовать AOSP для создания собственных вариантов ОС Android для своих устройств.

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

Этот раздел документации помогает новым разработчикам AOSP начать работу с платформой и выполнить важные задачи разработки.

Обязательные условия

Ниже приведен список терминов и определений, используемых в этой документации по началу работы. Прежде чем продолжить, вам следует изучить каждое определение.

Разработчик Android-приложений

Разработчики приложений для Android пишут приложения для Android или приложения, которые работают на Android. Существует две классификации разработчиков приложений: собственные (1p) и сторонние (3p).

Разработчик приложений для Android 1p
Разработчик приложений Android, имеющий доступ к системным API AOSP и создающий привилегированные приложения и приложения производителей устройств.
Разработчик Android 3p-приложений
Разработчик приложений Android, который использует исключительно общедоступный SDK Android для создания приложений Android.

Если вы хотите разрабатывать 3p-приложения для Android, посетите сайт developers.android.com . Информация на этом сайте предназначена исключительно для тех, кто работает напрямую с AOSP.

Мост отладки Android (ADB)
Инструмент командной строки ( adb ), который позволяет вашей рабочей станции взаимодействовать с виртуальным, программно-эмулируемым или физическим устройством.
Android-совместимое устройство
Устройство, на котором можно запускать любое стороннее приложение, написанное сторонними разработчиками с использованием Android SDK и NDK. Android-совместимые устройства должны соответствовать требованиям Документа определения совместимости (CDD) и пройти набор тестов на совместимость (CTS) . Устройства, совместимые с Android, имеют право участвовать в экосистеме Android, которая включает потенциальное лицензирование Android Play Store, потенциальное лицензирование набора приложений и API Google Mobile Services (GMS) , а также использование товарного знака Android. Любой может использовать исходный код Android, но чтобы считаться частью экосистемы Android, устройство должно быть совместимо с Android. Дополнительную информацию о совместимости и CTS см. в обзоре программы совместимости Android.
утверждающий
Опытные члены сообщества AOSP, внесшие значительный технический и дизайнерский вклад в платформу. В процессе проверки кода утверждающий решает, включать ли изменение. Руководители проектов (которые обычно работают в Google) выбирают утверждающих, иногда продвигая проверяющих на должности утверждающих, когда они демонстрируют опыт в определенной части AOSP.
Документ определения совместимости (CDD)
Документ, в котором перечислены требования к программному и аппаратному обеспечению для Android-совместимого устройства.
Автор

Человек, который также вносит вклад в исходный код AOSP. Соавторами могут быть сотрудники Google, сотрудники других компаний и физические лица, не связанные с компанией. Каждый участник AOSP использует одни и те же инструменты, следует одному и тому же процессу проверки кода и придерживается одного и того же стиля кодирования. Вам не обязательно быть участником, чтобы использовать AOSP; вы можете загрузить AOSP, изменить его для своих нужд и развернуть на устройстве, не добавляя код для использования другими.

Существуют ограничения на тип кода, который принимает Google. Например, вы можете предложить альтернативный API приложения, например полную среду на основе C++. Google откажется от этого вклада, поскольку Android поощряет запуск приложений в среде выполнения ART. Аналогичным образом, Google не принимает такие материалы, как библиотеки GPL или LGPL, которые несовместимы с целями лицензирования.

Если вы заинтересованы в предоставлении исходного кода, свяжитесь с Google до начала работы.

Набор тестов совместимости (CTS)

Бесплатный набор тестов коммерческого уровня, доступный для загрузки в виде двоичного файла или исходного кода в AOSP. CTS — это набор модульных тестов, предназначенных для интеграции в ваш ежедневный рабочий процесс. Цель CTS — выявить несовместимости и обеспечить совместимость программного обеспечения на протяжении всего процесса разработки.

Каракатица

Настраиваемое виртуальное устройство на базе Android, которое может работать удаленно с использованием сторонних облачных предложений, таких как Google Cloud Engine, а также локально на компьютерах с Linux x86.

Разработчик

В контексте AOSP разработчик — это любой, кто каким-либо образом работает с AOSP. Термин «разработчик» используется для общего обозначения различных людей, которые могут читать эту документацию, например, производителей оригинального оборудования (OEM), производителей мобильных телефонов, операторов связи и создателей систем на кристалле (SoC).

Мобильные службы Google (GMS)

Коллекция приложений и API Google, которые можно предварительно установить на устройства.

Цель

Вариант устройства, например конкретная модель или форм-фактор. Например, aosp_cf_x86_64_phone-userdebug представляет телефон x86 с памятью 65 МБ и информацией об отладке, предназначенный для работы на эмуляторе каракатицы.

Верификатор

Ценный участник сообщества Android, который загружает и проверяет изменения в AOSP. После того как вы отправили в AOSP значительный объем высококачественного кода, руководители проекта могут предложить вам стать проверяющим.

Философия управления

Группа компаний, известная как Open Handset Alliance (OHA), возглавляемая Google, разработала Android. Сегодня многие компании — как первоначальные члены OHA, так и другие — вложили значительные средства в Android. Эти компании выделили значительные инженерные ресурсы для улучшения Android и вывода устройств Android на рынок.

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

Конечно, неконтролируемая настройка может привести к несовместимым реализациям. Чтобы предотвратить несовместимость, проект Android Open Source Project (AOSP) поддерживает программу совместимости Android , в которой разъясняется, что значит быть совместимым с Android и что требуется от производителей устройств для достижения этого статуса. Любой может использовать исходный код Android для любых целей, и Google приветствует любое законное использование. Однако, чтобы принять участие в общей экосистеме приложений, которые участники OHA создают на базе Android, производители устройств должны участвовать в программе совместимости Android.

AOSP возглавляет Google, который поддерживает и развивает Android. Хотя Android состоит из нескольких подпроектов, AOSP — это строго управление проектами. Google рассматривает и управляет Android как единым целостным программным продуктом, а не как дистрибутив, спецификация или набор сменных частей. Намерение Google состоит в том, чтобы производители устройств портировали Android на свое устройство; они не реализуют спецификации и не курируют дистрибутив.

Что дальше?

,

Android — это операционная система для широкого спектра устройств разных форм-факторов. Документация и исходный код для Android доступны каждому как Android Open Source Project (AOSP) . Вы можете использовать AOSP для создания собственных вариантов ОС Android для своих устройств.

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

Этот раздел документации помогает новым разработчикам AOSP начать работу с платформой и выполнить важные задачи разработки.

Обязательные условия

Ниже приведен список терминов и определений, используемых в этой документации по началу работы. Прежде чем продолжить, вам следует изучить каждое определение.

Разработчик Android-приложений

Разработчики приложений для Android пишут приложения для Android или приложения, которые работают на Android. Существует две классификации разработчиков приложений: собственные (1p) и сторонние (3p).

Разработчик приложений для Android 1p
Разработчик приложений Android, имеющий доступ к системным API AOSP и создающий привилегированные приложения и приложения производителей устройств.
Разработчик Android 3p-приложений
Разработчик приложений Android, который использует исключительно общедоступный SDK Android для создания приложений Android.

Если вы хотите разрабатывать 3p-приложения для Android, посетите сайт developers.android.com . Информация на этом сайте предназначена исключительно для тех, кто работает напрямую с AOSP.

Мост отладки Android (ADB)
Инструмент командной строки ( adb ), который позволяет вашей рабочей станции взаимодействовать с виртуальным, программно-эмулируемым или физическим устройством.
Android-совместимое устройство
Устройство, на котором можно запускать любое стороннее приложение, написанное сторонними разработчиками с использованием Android SDK и NDK. Android-совместимые устройства должны соответствовать требованиям Документа определения совместимости (CDD) и пройти набор тестов на совместимость (CTS) . Устройства, совместимые с Android, имеют право участвовать в экосистеме Android, которая включает потенциальное лицензирование Android Play Store, потенциальное лицензирование набора приложений и API Google Mobile Services (GMS) , а также использование товарного знака Android. Любой может использовать исходный код Android, но чтобы считаться частью экосистемы Android, устройство должно быть совместимо с Android. Дополнительную информацию о совместимости и CTS см. в обзоре программы совместимости Android.
утверждающий
Опытные члены сообщества AOSP, внесшие значительный технический и дизайнерский вклад в платформу. В процессе проверки кода утверждающий решает, включать ли изменение. Руководители проектов (которые обычно работают в Google) выбирают утверждающих, иногда продвигая проверяющих на должности утверждающих, когда они демонстрируют опыт в определенной части AOSP.
Документ определения совместимости (CDD)
Документ, в котором перечислены требования к программному и аппаратному обеспечению для Android-совместимого устройства.
Автор

Человек, который также вносит вклад в исходный код AOSP. Соавторами могут быть сотрудники Google, сотрудники других компаний и физические лица, не связанные с компанией. Каждый участник AOSP использует одни и те же инструменты, следует одному и тому же процессу проверки кода и придерживается одного и того же стиля кодирования. Вам не обязательно быть участником, чтобы использовать AOSP; вы можете загрузить AOSP, изменить его для своих нужд и развернуть на устройстве, не добавляя код для использования другими.

Существуют ограничения на тип кода, который принимает Google. Например, вы можете предложить альтернативный API приложения, например полную среду на основе C++. Google откажется от этого вклада, поскольку Android поощряет запуск приложений в среде выполнения ART. Аналогичным образом, Google не принимает такие материалы, как библиотеки GPL или LGPL, которые несовместимы с целями лицензирования.

Если вы заинтересованы в предоставлении исходного кода, свяжитесь с Google до начала работы.

Набор тестов совместимости (CTS)

Бесплатный набор тестов коммерческого уровня, доступный для загрузки в виде двоичного файла или исходного кода в AOSP. CTS — это набор модульных тестов, предназначенных для интеграции в ваш ежедневный рабочий процесс. Цель CTS — выявить несовместимости и обеспечить совместимость программного обеспечения на протяжении всего процесса разработки.

Каракатица

Настраиваемое виртуальное устройство на базе Android, которое может работать удаленно с использованием сторонних облачных предложений, таких как Google Cloud Engine, а также локально на компьютерах с Linux x86.

Разработчик

В контексте AOSP разработчик — это любой, кто каким-либо образом работает с AOSP. Термин «разработчик» используется для общего обозначения различных людей, которые могут читать эту документацию, например, производителей оригинального оборудования (OEM), производителей мобильных телефонов, операторов связи и создателей систем на кристалле (SoC).

Мобильные службы Google (GMS)

Коллекция приложений и API Google, которые можно предварительно установить на устройства.

Цель

Вариант устройства, например конкретная модель или форм-фактор. Например, aosp_cf_x86_64_phone-userdebug представляет телефон x86 с памятью 65 МБ и информацией об отладке, предназначенный для работы на эмуляторе каракатицы.

Верификатор

Ценный участник сообщества Android, который загружает и проверяет изменения в AOSP. После того как вы отправили в AOSP значительный объем высококачественного кода, руководители проекта могут предложить вам стать проверяющим.

Философия управления

Группа компаний, известная как Open Handset Alliance (OHA), возглавляемая Google, разработала Android. Сегодня многие компании — как первоначальные члены OHA, так и другие — вложили значительные средства в Android. Эти компании выделили значительные инженерные ресурсы для улучшения Android и вывода устройств Android на рынок.

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

Конечно, неконтролируемая настройка может привести к несовместимым реализациям. Чтобы предотвратить несовместимость, проект Android Open Source Project (AOSP) поддерживает программу совместимости Android , в которой разъясняется, что значит быть совместимым с Android и что требуется от производителей устройств для достижения этого статуса. Любой может использовать исходный код Android для любых целей, и Google приветствует любое законное использование. Однако, чтобы принять участие в общей экосистеме приложений, которые участники OHA создают на базе Android, производители устройств должны участвовать в программе совместимости Android.

AOSP возглавляет Google, который поддерживает и развивает Android. Хотя Android состоит из нескольких подпроектов, AOSP — это строго управление проектами. Google рассматривает и управляет Android как единым целостным программным продуктом, а не как дистрибутив, спецификация или набор сменных частей. Намерение Google состоит в том, чтобы производители устройств портировали Android на свое устройство; они не реализуют спецификации и не курируют дистрибутив.

Что дальше?