Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

Часто задаваемые вопросы

На этой странице представлены ответы на некоторые часто задаваемые вопросы (FAQ).

Открытый источник

Что такое проект с открытым исходным кодом Android?

Android Open Source Project (AOSP) относится к людям, процессам и исходному коду, из которых состоит Android.

Люди следят за проектом и разрабатывают исходный код. Процессы - это инструменты и процедуры, которые мы используем для управления разработкой программного обеспечения. Конечным результатом является исходный код, который вы можете использовать в мобильных телефонах и других устройствах.

Почему мы открыли исходный код Android?

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

Что это за проект с открытым исходным кодом Android?

Google курирует разработку основной платформы Android с открытым исходным кодом и работает над созданием надежных сообществ разработчиков и пользователей. По большей части, исходный код Android лицензируется по разрешающей лицензии Apache License 2.0, а не по лицензии с авторским левом. Мы выбрали лицензию Apache 2.0, потому что считаем, что она способствует широкому распространению программного обеспечения Android. Подробнее см. Лицензии .

Почему Google отвечает за Android?

Запустить программную платформу сложно. Открытость жизненно важна для долгосрочного успеха платформы, потому что открытость привлекает инвестиции от разработчиков и обеспечивает равные условия игры. Платформа также должна быть привлекательным продуктом для пользователей.

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

Убедившись, что Android пользуется успехом у пользователей, мы помогаем обеспечить жизнеспособность Android как платформы и проекта с открытым исходным кодом. В конце концов, кому нужен исходный код неудачного продукта?

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

Какова общая стратегия Google в отношении разработки продуктов Android?

Мы выпускаем отличные устройства на конкурентный рынок. Затем мы включаем нововведения и улучшения, которые мы внесли в основную платформу, в следующей версии.

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

Как разрабатывается программное обеспечение Android?

Каждая версия платформы Android (например, 1.5 или 8.1) имеет соответствующую ветвь в дереве открытого исходного кода. Самая последняя ветка считается текущей стабильной версией ветки. Это ветка, которую производители переносят на свои устройства. Эта ветка всегда доступна для выпуска.

Одновременно существует текущая экспериментальная ветвь, в которой разрабатываются спекулятивные вклады, такие как крупные функции следующего поколения. Исправления ошибок и другие дополнения могут быть включены в текущую стабильную ветку из экспериментальной ветки по мере необходимости.

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

Дополнительные сведения см. В разделе « Строки кода, ветви и выпуски» .

Почему части Android разрабатываются в частном порядке?

Обычно вывод устройства на рынок занимает больше года. И, конечно же, производители устройств хотят выпускать новейшее программное обеспечение, которое они могут. Между тем разработчики не хотят постоянно отслеживать новые версии платформы при написании приложений. Обе группы испытывают напряжение между доставкой продуктов и нежеланием отставать.

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

Когда выпускаются релизы исходного кода?

Когда они будут готовы. Выпуск исходного кода - довольно сложный процесс. Некоторые части Android разрабатываются открыто, и этот исходный код всегда доступен. Другие части сначала разрабатываются в частном дереве, и этот исходный код выпускается, когда будет готова следующая версия платформы.

В некоторых выпусках API базовой платформы готовы заранее, так что мы можем выложить исходный код для раннего просмотра до выпуска устройства. В других выпусках это невозможно. Во всех случаях мы выпускаем исходный код платформы, когда чувствуем, что версия стабильна, и когда позволяет процесс разработки.

Что нужно для выпуска исходного кода для новой версии Android?

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

Когда выпуск одобрен регулирующими органами и операторами, производитель начинает массовое производство устройств, и мы начинаем выпускать исходный код.

Одновременно с массовым производством команда Google предпринимает несколько усилий по подготовке выпуска с открытым исходным кодом. Эти усилия включают внесение окончательных изменений API, обновление документации (например, для отражения любых изменений, внесенных во время квалификационного тестирования), подготовку SDK для новой версии и запуск информации о совместимости платформы.

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

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

Какое отношение AOSP имеет к программе совместимости с Android?

Android Open Source Project поддерживает программное обеспечение Android и разрабатывает новые версии. Поскольку это программное обеспечение с открытым исходным кодом, оно может использоваться для любых целей, включая разработку устройств, несовместимых с другими устройствами на основе того же источника.

Функция программы совместимости с Android состоит в том, чтобы определить базовую реализацию Android, совместимую со сторонними приложениями, написанными разработчиками. Устройства, совместимые с Android, могут участвовать в экосистеме Android, включая Google Play; устройства, не отвечающие требованиям совместимости, существуют за пределами этой экосистемы.

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

Как я могу внести свой вклад в Android?

Вы можете сообщать об ошибках, писать приложения для Android или вносить исходный код в Android Open Source Project.

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

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

Как мне стать коммиттером Android?

В Android Open Source Project нет понятия коммиттера . Все материалы (в том числе созданные сотрудниками Google) проходят через веб-систему, известную как Gerrit, которая является частью процесса разработки Android. Эта система работает в тандеме с системой управления исходным кодом git для точного управления добавлением исходного кода.

После отправки изменения должны быть приняты назначенным утверждающим лицом. Утверждающие, как правило, являются сотрудниками Google, но за все материалы, независимо от их происхождения, отвечают одни и те же утверждающие.

Подробнее см. Отправка исправлений .

Вернуться наверх

Совместимость

Что такое «совместимость» с Android?

Мы определяем Android-совместимое устройство как устройство, которое может запускать любое приложение, написанное сторонними разработчиками с использованием Android SDK и NDK. Мы используем это как фильтр для разделения устройств, которые могут участвовать в экосистеме приложений Android, и тех, которые не могут. Для устройств, которые должным образом совместимы, производители устройств могут запросить разрешение на использование товарного знака Android. Несовместимые устройства просто являются производными от исходного кода Android и не могут использовать товарный знак Android.

Другими словами, совместимость - необходимое условие для участия в экосистеме приложений Android. Любой желающий может использовать исходный код Android. Но если устройство несовместимо, оно не считается частью экосистемы Android.

Какова роль Google Play в совместимости?

Производители устройств с Android-совместимыми устройствами могут потребовать лицензирования клиентского программного обеспечения Google Play. Лицензированные устройства становятся частью экосистемы приложений Android, позволяя пользователям загружать приложения разработчиков из каталога, доступного для всех совместимых устройств. Для несовместимых устройств лицензирование недоступно.

Какие типы устройств могут быть совместимы с Android?

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

Например, хотя исходный код Android может быть перенесен для работы на телефоне без камеры, CDD требует, чтобы все телефоны имели камеру. Это позволяет разработчикам полагаться на согласованный набор возможностей при написании своих приложений.

CDD продолжает развиваться, чтобы отражать рыночные реалии. Например, версия CDD 1.6 поддерживает только сотовые телефоны. Но версия 2.1 позволяет устройствам опускать телефонное оборудование, что обеспечивает совместимость не телефонных устройств, таких как музыкальные плееры в стиле планшетов. По мере внесения этих изменений мы также расширяем Google Play, чтобы разработчики могли контролировать, где их приложения доступны. Продолжая пример с телефонией, приложение, которое управляет текстовыми SMS-сообщениями, бесполезно для медиаплеера, поэтому Google Play позволяет разработчику ограничить использование этого приложения исключительно телефонными устройствами.

Если мое устройство совместимо, у него автоматически есть доступ к Google Play и бренду?

Нет. Доступ не автоматический. Google Play - это сервис, управляемый Google. Достижение совместимости является необходимым условием для получения доступа к программному обеспечению Google Play и торговой марке. После того, как устройство квалифицируется как Android-совместимое устройство , производитель устройства должен заполнить контактную форму, включенную в лицензирование Google Mobile Services, чтобы получить доступ к Google Play. Мы свяжемся с вами, если сможем вам помочь.

Если я не производитель, как мне получить Google Play?

Лицензия на Google Play предоставляется только производителям мобильных телефонов. По вопросам о конкретных случаях обращайтесь по адресу android-partnerships@google.com .

Как получить доступ к приложениям Google для Android, например к Картам?

Приложения Google для Android, такие как YouTube, Google Maps и Gmail, являются собственностью Google, которые не являются частью Android и лицензируются отдельно. По вопросам, связанным с этими приложениями, обращайтесь по адресу android-partnerships@google.com .

Обязательна ли совместимость?

Нет. Программа совместимости с Android не является обязательной. Исходный код Android открыт, поэтому любой может использовать его для создания любого устройства. Однако, если производители хотят использовать имя Android в своих продуктах или получить доступ к Google Play, они должны сначала продемонстрировать совместимость своих устройств .

Сколько стоит сертификация совместимости?

Обеспечение совместимости с Android для устройства бесплатно. Набор для тестирования совместимости имеет открытый исходный код и доступен любому желающему для тестирования устройств.

Как долго длится совместимость?

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

Кто определяет определение совместимости?

Google отвечает за общее направление Android как платформы и продукта, поэтому Google поддерживает Документ определения совместимости (CDD) для каждого выпуска. Мы составляем CDD для новой версии Android, консультируясь с различными OEM-производителями, которые вносят свой вклад.

Как долго каждая версия Android будет поддерживаться на новых устройствах?

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

Может ли устройство иметь другой пользовательский интерфейс и при этом быть совместимым?

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

Когда будут выпущены определения совместимости для новых версий Android?

Наша цель - выпустить новую версию документа определения совместимости с Android (CDD), когда соответствующая версия платформы Android сойдется в достаточной степени, чтобы это разрешить. Хотя мы не можем выпустить окончательный вариант CDD для версии программного обеспечения Android до того, как первое флагманское устройство будет поставляться с этим программным обеспечением, окончательные CDD всегда выпускаются после первого устройства. Однако там, где это возможно, мы выпускаем черновые версии CDD.

Как проверяются заявления производителей устройств о совместимости?

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

Что произойдет, если позже у устройства, заявляющего о совместимости, будут обнаружены проблемы совместимости?

Как правило, отношения Google с лицензиатами Google Play позволяют нам попросить производителя устройства выпустить обновленные образы системы, которые устраняют проблемы.

Вернуться наверх

Набор тестов совместимости

Какова цель CTS?

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

Что тестирует CTS?

В настоящее время CTS проверяет наличие и правильность работы всех поддерживаемых API со строгой типизацией Android. Он также проверяет поведение других систем, не связанных с API, таких как жизненный цикл и производительность приложения. Мы планируем добавить поддержку в будущих версиях CTS для тестирования программных API, таких как Intents.

Будут ли опубликованы отчеты CTS?

Да. Хотя в настоящее время это не реализовано, Google намеревается предоставить OEM-производителям веб-инструменты самообслуживания для публикации отчетов CTS, чтобы каждый мог их просматривать. Производители могут делиться CTS-отчетами с любой желаемой аудиторией.

Как лицензируется CTS?

CTS находится под той же лицензией Apache Software License 2.0, что и большая часть Android.

Принимает ли CTS взносы?

Да, пожалуйста! Android Open Source Project принимает участие в улучшении CTS, как и для любого другого компонента. Фактически, улучшение охвата и качества тестовых примеров CTS - один из лучших способов помочь Android.

Может ли кто-нибудь использовать CTS на существующих устройствах?

Документ определения совместимости требует, чтобы совместимые устройства реализовывали утилиту отладки adb . Это означает, что любое совместимое устройство (в том числе имеющееся в продаже) должно иметь возможность запускать тесты CTS.

Кодеки проверены CTS?

Да. Все обязательные кодеки проверены CTS.

Вернуться наверх