Глоссарий платформы Android

См. список ниже, чтобы изучить основную терминологию Android Open Source Project (AOSP). Вот другие источники определений ключевых терминов:

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

Программы

.apk-файл
Файл пакета приложения Android. Каждое приложение для Android компилируется и упаковывается в один файл, который включает весь код приложения (файлы .dex), ресурсы, активы и файл манифеста. Файл пакета приложения может иметь любое имя, но должен иметь расширение .apk . Например: myExampleAppname.apk . Для удобства файл пакета приложения часто называют «.apk».

Связано: Приложение .

Действие
Описание того, что хочет сделать отправитель Intent . Действие — это строковое значение, присвоенное намерению. Строки действий могут быть определены Android или сторонним разработчиком. Например, android.intent.action.VIEW для URL-адреса в Интернете или com.example.rumbler.SHAKE_PHONE для пользовательского приложения для вибрации телефона.

Связано: намерение .

Мероприятия
Один экран в приложении с поддерживающим кодом Java, производным от класса Activity . Чаще всего действие визуально представлено полноэкранным окном, которое может получать и обрабатывать события пользовательского интерфейса и выполнять сложные задачи из-за окна, которое оно использует для отображения своего окна. Хотя активность обычно полноэкранная, она также может быть плавающей или прозрачной.
Заявление
С точки зрения компонентов приложение Android состоит из одного или нескольких действий, служб, прослушивателей и приемников намерений. С точки зрения исходного файла приложение Android состоит из кода, ресурсов, ресурсов и одного манифеста. Во время компиляции эти файлы упаковываются в один файл, называемый файлом пакета приложения (.apk).

Связанные: .apk , Активность

Широковещательный приемник
Класс приложения, который прослушивает широковещательные намерения, а не отправляется одному целевому приложению/действию. Система доставляет широковещательный Intent всем заинтересованным широковещательным получателям, которые последовательно обрабатывают Intent.

Связанные: намерение , фильтр намерения .

Поставщик услуг
Уровень абстракции данных, который можно использовать для безопасного предоставления данных вашего приложения другим приложениям. Поставщик содержимого построен на основе класса ContentProvider , который обрабатывает строки запроса содержимого определенного формата для возврата данных в определенном формате. Дополнительную информацию см. в разделе Content Providers .

Связанный: Использование URI в Android

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

Связано: Активность .

Намерение
Объект сообщения, который можно использовать для асинхронного запуска или взаимодействия с другими приложениями/действиями. Объект Intent является экземпляром Intent . Он включает в себя несколько полей критериев, которые вы можете указать, чтобы определить, какое приложение/действие получает намерение и что делает получатель при обработке намерения. Доступные критерии включают желаемое действие, категорию, строку данных, тип данных MIME, класс обработки и другие. Приложение отправляет Intent в систему Android, а не напрямую другому приложению/действию. Приложение может отправить намерение одному целевому приложению или отправить его в виде широковещательной рассылки, которая, в свою очередь, может обрабатываться несколькими приложениями последовательно. Система Android отвечает за определение наилучшего доступного получателя для каждого намерения на основе критериев, предоставленных в намерениях и фильтрах намерений, определенных другими приложениями. Дополнительные сведения см. в разделе Намерения и фильтры намерений .

Связанные: фильтр намерений , широковещательный приемник .

Фильтр намерений
Объект фильтра, который приложение объявляет в своем файле манифеста, чтобы сообщить системе, какие типы намерений каждый из его компонентов готов принять и с какими критериями. С помощью фильтра намерений приложение может проявлять интерес к определенным типам данных, действиям намерения, форматам URI и т. д. При разрешении намерения система оценивает все доступные фильтры намерений во всех приложениях и передает намерение приложению/действию, которое лучше всего соответствует намерению и критериям. Дополнительные сведения см. в разделе Намерения и фильтры намерений .

Связанные: намерение , широковещательный приемник .

Ресурсы
Непрограммные компоненты приложения, которые являются внешними по отношению к скомпилированному коду приложения, но которые могут быть загружены из кода приложения с использованием общеизвестного эталонного формата. Android поддерживает различные типы ресурсов, но ресурсы типичного приложения состоят из строк пользовательского интерфейса, компонентов макета пользовательского интерфейса, графических или других медиафайлов и т. д. Приложение использует ресурсы для эффективной поддержки локализации и различных профилей и состояний устройств. Например, приложение может включать отдельный набор ресурсов для каждого поддерживаемого локального типа или типа устройства, а также ресурсы макета, характерные для текущей ориентации экрана (альбомной или портретной). Дополнительные сведения о ресурсах см. в разделе Ресурсы и активы . Ресурсы приложения всегда хранятся в подпапках res/* проекта.
Услуга
Объект класса Service , который работает в фоновом режиме (без присутствия пользовательского интерфейса) для выполнения различных постоянных действий, таких как воспроизведение музыки или мониторинг сетевой активности.

Связанные: активность

URI в Android
Android использует строки URI (унифицированный идентификатор ресурса) в качестве основы для запроса данных у поставщика контента (например, для получения списка контактов) и для запроса действий в Intent (например, открытие веб-страницы в браузере). Схема и формат URI специализированы в соответствии с типом использования, и приложение может обрабатывать определенные схемы и строки URI любым способом. Некоторые схемы URI зарезервированы системными компонентами. Например, запросы данных от поставщика контента должны использовать content:// . В Intent URI, использующий схему http:// , будет обрабатываться браузером.

Строить

адб
Android Debug Bridge — приложение для отладки командной строки, включенное в SDK. Он предоставляет инструменты для просмотра устройства, копирования инструментов на устройство и перенаправления портов для отладки. Если вы разрабатываете в Android Studio, adb интегрируется в вашу среду разработки. Дополнительную информацию см. в разделе Android Debug Bridge .
Android-проект
Репозиторий Git на хосте Android Gerrit. Дополнительные сведения см. в разделе Инструменты управления версиями > Gerrit .
Построить отпечаток пальца
Отпечаток сборки — это уникальная удобочитаемая строка, содержащая информацию о производителе, выдаваемую каждой сборке. Дополнительную информацию см. в разделе Общие сведения об отпечатках сборки .
Гит
Инструмент управления исходным кодом, используемый Android, который исторически работал с одним репозиторием Git. Используется вместе с Repo для нескольких репозиториев Git. Дополнительные сведения см. в разделе Инструменты управления версиями > Git .
Ветка Git — каноническая
Отдельные версии для каждого репозитория Git, например android-11.0.0_r1 , можно найти по адресу cs.android.com/android/platform/superproject/+/android-11.0.0_r1 . Дополнительную информацию см. в разделе Ветвление Git — вкратце о ветвях .
Ветка Git — локальная
Временная ветвь в текущем клиенте репо для внесения изменений в код, начинающаяся с имени repo start branch-name . команда. активная линия развития. Самый последний коммит на ветке называется вершиной этой ветки.
Git-репозиторий
Иногда называемый проектом, это часть кодовой базы, представляющая определенный компонент или тип устройства, например frameworks/base или platform/packages/apps/Car/Media .
Файл манифеста
XML-файл, описывающий группировку репозиториев Git для каждой ветки, ревизии Git, в которых следует извлекать эти репозитории, и их расположение в файловой системе. Этот XML-файл, обычно называемый default.xml , связан с ветвью репозитория и описывает репозитории Git и ветки Git, извлеченные при инициализации и синхронизации ветки репо. Этот файл определяет различные репозитории Git, которые инструмент Repo должен получить в клиентской кассе Repo для создания продукта (например, Android Automotive OS). Все манифесты см. на странице android.googlesource.com/platform/manifest/+refs . См. манифест по умолчанию, включенный в файлы AndroidManifest , чтобы получить файлы платформы Android (AOSP) по адресу android.googlesource.com/platform/manifest/+/refs/heads/master/default.xml . См. файл AndroidManifest.xml для получения информации о приложении и формат манифеста репозитория для разработки платформы.
Беспроводное (OTA) обновление
Устройства Android в полевых условиях могут получать и устанавливать беспроводные (OTA) обновления системы, прикладного программного обеспечения и правил часового пояса. См. Обновления OTA для получения дополнительной информации.
Репо
Оболочка вокруг Git, упрощающая работу с несколькими репозиториями Git. Он объединяет множество репозиториев Git и управляет ими как единой кассой или кодовой базой. Дополнительные сведения см. в разделе Инструменты управления версиями > Репозиторий .
Филиал РЕПО
Набор репозиториев Git, захваченных в файле AndroidManifest , который представляет собой версию (сборку) кодовой базы Android, например android11-gsi или aosp-android-games-sdk , загруженную с помощью команд repo init и repo sync . См. описание файла манифеста для ссылок на все файлы манифеста и используйте https://cs.android.com/ для поиска их сборок.
вверх
Как правило, uprev обновляет составляющий подпроект более крупного проекта до более новой версии. Uprev изменяет уровень редакции либо на следующую увеличенную версию, либо на последнюю доступную версию. В случае с пакетом HIDL, для обеспечения обратной совместимости на уровне пакета, обновление дополнительной версии обновляет новый пакет до более высокой дополнительной версии, сохраняя при этом то же имя и основную версию, что и у старого пакета. В случае конфигурации загрузчика uprev обновляет поддержку версии загрузочного заголовка до последней версии.

Графика

Холст
Поверхность рисования, которая обрабатывает наложение фактических битов на объект Bitmap или Surface . Он имеет методы для стандартного компьютерного рисования растровых изображений, линий, кругов, прямоугольников, текста и т. д. и привязан к растровому изображению или поверхности. Холст — это самый простой и легкий способ рисовать 2D-объекты на экране. Базовый класс — Canvas .

Связанные: Drawable , OpenGL ES , Surface .

Drawable
Скомпилированный визуальный ресурс, который можно использовать в качестве фона, заголовка или другой части экрана. Drawable обычно загружается в другой элемент пользовательского интерфейса, например, в качестве фонового изображения. Drawable не может получать события, но назначает различные другие свойства, такие как «состояние» и планирование, для включения подклассов, таких как объекты анимации или библиотеки изображений. Многие объекты для рисования загружаются из файлов ресурсов для рисования — файлов xml или растровых изображений, описывающих изображение. Ресурсы Drawable компилируются в подклассы android.graphics.drawable . Дополнительные сведения о чертежах и других ресурсах см. в разделе Ресурсы .

Связанный: Ресурсы , Холст

Ресурс макета
XML-файл, описывающий макет экрана Activity.

Связанные: Ресурсы

Изображение с девятью патчами / 9 патчами / девятью патчами
Ресурс растрового изображения с изменяемым размером, который можно использовать для фона или других изображений на устройстве. Дополнительную информацию см. в разделе «Растягивающееся изображение с девятью патчами».

Связанные: Ресурсы .

OpenGL ЕС
Android предоставляет библиотеки OpenGL ES для аппаратного ускорения 3D-рендеринга. Для 2D-рендеринга Canvas является более простым вариантом». OpenGL ES доступен в Android Native Development Kit (NDK) для простоты использования. Пакеты android.opengl и javax.microedition.khronos.opengles предоставляют функциональные возможности OpenGL ES.

Связанный: Холст , Поверхность

Поверхность
Объект типа Surface , представляющий блок памяти, который накладывается на экран. Поверхность содержит объект Canvas для рисования и предоставляет различные вспомогательные методы для рисования слоев и изменения размера поверхности. Вы не должны использовать этот класс напрямую; вместо этого используйте SurfaceView .

Связанный: Холст

SurfaceView
Объект View, который обертывает Surface для рисования и предоставляет методы для динамического указания его размера и формата. SurfaceView предоставляет способ рисования независимо от потока пользовательского интерфейса для ресурсоемких операций (таких как игры или предварительный просмотр камеры), но в результате использует дополнительную память. SurfaceView поддерживает графику Canvas и OpenGL ES. Базовый класс — SurfaceView .

Связанный: Поверхность

Тема
Набор свойств (размер текста, цвет фона и т. д.), объединенных вместе для определения различных параметров отображения по умолчанию. Android предоставляет несколько стандартных тем, перечисленных в R.style (начиная с «Theme_»).
Вид
Объект, который рисует прямоугольную область на экране и обрабатывает щелчок, нажатие клавиши и другие события взаимодействия. Представление — это базовый класс для большинства компонентов макета экрана действия или диалогового окна (текстовые поля, окна и т. д.). Он получает вызовы от своего родительского объекта (см. ViewGroup ) для рисования самого себя и сообщает своему родительскому объекту о том, где и насколько большим он хотел бы быть (что может учитываться или не учитываться родителем). Дополнительные сведения см. в разделе View .

Связанные: View Hierarchy , ViewGroup , Widget

Просмотр иерархии
Расположение объектов View и ViewGroup, определяющее пользовательский интерфейс для каждого компонента приложения. Иерархия состоит из групп представлений, содержащих одно или несколько дочерних представлений или групп представлений. Вы можете получить визуальное представление иерархии представлений для отладки и оптимизации с помощью средства просмотра иерархии , которое поставляется с Android SDK.

Связанные: представление , группа просмотра

ViewGroup
Объект-контейнер, который группирует набор дочерних представлений. Группа представлений отвечает за решение о том, где размещать дочерние представления и насколько они могут быть большими, а также за вызов каждого из них для рисования самого себя, когда это необходимо. Некоторые группы просмотра невидимы и предназначены только для макета, в то время как другие имеют встроенный пользовательский интерфейс (например, прокручиваемый список). Все группы представлений находятся в пакете widget , но расширяют ViewGroup .

Связанные: Просмотр , Просмотр иерархии

Виджет
Один из набора полностью реализованных подклассов View, которые отображают элементы формы и другие компоненты пользовательского интерфейса, такие как текстовое поле или всплывающее меню. Поскольку виджет полностью реализован, он самостоятельно измеряет и рисует, а также реагирует на экранные события. Все виджеты находятся в пакете android.widget .
Окно
В приложении для Android - объект, производный от абстрактного класса Window , определяющий элементы универсального окна, такие как внешний вид (текст строки заголовка, расположение и содержимое меню и т. д.). Dialog и Activity используют реализацию этого класса для отображения окна. Вам не нужно реализовывать этот класс или использовать окна в своем приложении.

Платформа

Среда выполнения Android (ART) и Dalvik
Среда выполнения Android (ART) — это управляемая среда выполнения, используемая приложениями и некоторыми системными службами Android. Среда выполнения Android (ART) — это среда выполнения по умолчанию для устройств под управлением Android 5.0 (уровень API 21) и выше. ART и его предшественник Dalvik изначально были созданы специально для Android Open Source Project. ART в качестве среды выполнения выполняет формат исполняемого файла Dalvik и спецификацию байт-кода Dex. ART и Dalvik — совместимые среды выполнения с байт-кодом Dex, поэтому приложения, разработанные для Dalvik, должны работать при работе с ART.
Кодовая линия
Кодовая строка содержит выпуск программного продукта. Он состоит из одной или нескольких веток из одного или нескольких репозиториев, которые часто одновременно находятся в активной разработке. Кодовая линия — это точка агрегации и цель релиза. Дополнительные сведения о кодовых строках см. в разделе Управление программным обеспечением Android .
.dex-файл
Скомпилированный файл кода Android-приложения.

Программы для Android скомпилированы в файлы .dex (Dalvik Executable), которые, в свою очередь, заархивированы в один файл .apk на устройстве. Файлы .dex можно создавать путем автоматического перевода скомпилированных приложений, написанных на языке программирования Java.

Контрольная работа

Артефакты
Артефакты — это журналы сборки, позволяющие локально устранять неполадки. Эти журналы доступны непосредственно из Gerrit при просмотре списка изменений. Прокрутите вниз до Presubmit Status и щелкните красную ссылку Build , чтобы просмотреть или загрузить связанный файл build_error.log . Вы также можете получить эти артефакты с центрального сервера непрерывной интеграции Android по адресу ci.android.com/ , щелкнув значок «Загрузить» (стрелка вниз) для цели и сборки. Дополнительные сведения о поиске артефактов см. в разделе Непрерывная интеграция Android .
CDD
Документ определения совместимости с Android (CDD) перечисляет требования, которые должны быть выполнены, чтобы ваши устройства были совместимы с последней версией Android. Чтобы считаться совместимыми с Android, реализации устройств ДОЛЖНЫ соответствовать требованиям, представленным в этом определении совместимости, включая любые документы, включенные посредством ссылки. Дополнительные сведения о CDD см. в документе определения совместимости с Android .
КТС
Набор тестов совместимости (CTS) — это набор тестов для проверки правильности API и спецификации, изложенной в CDD. Он доступен в виде исходного кода в AOSP и для загрузки в виде двоичного файла. Дополнительные сведения см. в разделе Комплект тестов совместимости .
Верификатор CTS
Средство проверки набора тестов совместимости (CTS Verifier) ​​является дополнением к CTS. CTS Verifier предоставляет тесты для API и функций, которые невозможно протестировать на стационарном устройстве без ручного ввода (например, качество звука, акселерометр и т. д.). Дополнительные сведения см. в разделе Использование CTS Verifier .
Отладка
Отладка требует поиска и исправления ошибок в коде платформы Android либо в функциях, либо в их тестах. Дополнительные сведения см. в разделе Отладка собственного кода платформы Android .
GoogleTest (ГТест)
GTest — это платформа Google для тестирования и имитации C++. Двоичные файлы GTest обычно обращаются к уровням абстракции более низкого уровня или выполняют необработанный IPC для различных системных служб. Из-за этого подход к тестированию Gtest обычно тесно связан с тестируемой службой. Найдите код на github.com/google/googletest и документацию на google.github.io/googletest .
Инструментальный тест
Инструментальный тест предоставляет специальную среду выполнения теста, запускаемую командой am instrument , в которой целевой процесс приложения перезапускается и инициализируется с базовым контекстом приложения, а инструментальный поток запускается внутри виртуальной машины процесса приложения. Для получения дополнительной информации см. Инструментальные тесты .
Логкэт
Logcat — это инструмент командной строки, который создает дамп журнала системных сообщений, включая трассировку стека, когда устройство выдает ошибку, и сообщения, которые вы написали из своего приложения с помощью класса Log . Дополнительные сведения см. в разделе Инструмент командной строки Logcat .
логирование
Вход в Android сложен из-за сочетания используемых стандартов, объединенных в logcat . Подробнее об основных используемых стандартах см. в разделе Общие сведения о ведении журналов .
Объединить конфликт
Конфликт слияния возникает, когда две или более версий одного и того же файла больше не могут автоматически объединяться сервером сборки Android. Обычно это требует ручного редактирования файла для разрешения всех конфликтующих обновлений.
Тесты до и после отправки
Предварительные тесты используются для предотвращения появления сбоев в общих ядрах. В настоящее время результаты не являются общедоступными.

Тесты после отправки Android выполняются, когда новый патч фиксируется в общей ветке ядра. Введя aosp_kernel в качестве частичного имени ветки, вы увидите список веток ядра с доступными результатами. Например, результаты для `android-mainline` можно найти здесь .
Трейдфед
Тестовая система Trade Federation (Tradefed или TF для краткости) — это среда непрерывного тестирования, предназначенная для запуска тестов на устройствах Android. Например, Tradefed используется для запуска CTS и VTS. Для получения дополнительной информации см. Обзор Торговой Федерации .
СУДС
Android Vendor Test Suite (VTS) предоставляет широкие возможности для тестирования Android, поддерживает процесс разработки, управляемый тестированием, и автоматизирует тестирование ядра HAL и ОС. Дополнительные сведения см. в разделе Vendor Test Suite (VTS) и инфраструктура .