Glosario de la plataforma Android

Consulte la lista a continuación para conocer la terminología básica del Proyecto de código abierto de Android (AOSP). Aquí hay otras fuentes para definiciones de términos clave:

Consulte Codificar con respeto para ver ejemplos de terminología que se debe utilizar y evitar para lograr un ecosistema más inclusivo.

Aplicaciones

archivo .apk
Archivo del paquete de aplicaciones de Android. Cada aplicación de Android se compila y empaqueta en un único archivo que incluye todo el código de la aplicación (archivos .dex), recursos, activos y archivo de manifiesto. El archivo del paquete de la aplicación puede tener cualquier nombre pero debe usar la extensión .apk . Por ejemplo: myExampleAppname.apk . Por conveniencia, un archivo de paquete de aplicación a menudo se denomina ".apk".

Relacionado: Aplicación .

Acción
Una descripción de algo que un remitente de intención quiere que se haga. Una acción es un valor de cadena asignado a una intención. Las cadenas de acción pueden ser definidas por Android o por un desarrollador externo. Por ejemplo, android.intent.action.VIEW para una URL web o com.example.rumbler.SHAKE_PHONE para una aplicación personalizada para hacer vibrar el teléfono.

Relacionado: Intención .

Actividad
Una única pantalla en una aplicación, compatible con código Java, derivada de la clase Activity . Por lo general, una actividad se representa visiblemente mediante una ventana de pantalla completa que puede recibir y manejar eventos de la interfaz de usuario y realizar tareas complejas, debido a la ventana que utiliza para representar su ventana. Aunque una actividad suele ser de pantalla completa, también puede ser flotante o transparente.
Solicitud
Desde la perspectiva de los componentes, una aplicación de Android consta de una o más actividades, servicios, oyentes y receptores de intenciones. Desde la perspectiva del archivo fuente, una aplicación de Android consta de código, recursos, activos y un único manifiesto. Durante la compilación, estos archivos se empaquetan en un único archivo llamado archivo de paquete de aplicación (.apk).

Relacionado: .apk , Actividad

Receptor de radiodifusión
Una clase de aplicación que escucha los Intents que se transmiten, en lugar de enviarse a una única aplicación/actividad de destino. El sistema entrega un Intent de transmisión a todos los receptores de transmisión interesados, que manejan el Intent de manera secuencial.

Relacionado: Intención , Filtro de intención .

Proveedor de contenido
Una capa de abstracción de datos que puede utilizar para exponer de forma segura los datos de su aplicación a otras aplicaciones. Un proveedor de contenido se basa en la clase ContentProvider , que maneja cadenas de consulta de contenido de un formato específico para devolver datos en un formato específico. Consulte el tema Proveedores de contenido para obtener más información.

Relacionado: Uso de URI en Android

Diálogo
Una ventana flotante que actúa como una forma ligera. Un cuadro de diálogo solo puede tener controles de botones y está destinado a realizar una acción simple (como la elección de un botón) y tal vez devolver un valor. Un cuadro de diálogo no está destinado a persistir en la pila del historial, contener un diseño complejo ni realizar acciones complejas. Android proporciona un cuadro de diálogo simple predeterminado con botones opcionales, aunque puede definir su propio diseño de diálogo. La clase base para los diálogos es Dialog .

Relacionado: Actividad .

Intención
Un objeto de mensaje que puede utilizar para iniciar o comunicarse con otras aplicaciones/actividades de forma asincrónica. Un objeto Intent es una instancia de Intent . Incluye varios campos de criterios que puede proporcionar para determinar qué aplicación/actividad recibe la Intención y qué hace el receptor cuando maneja la Intención. Los criterios disponibles incluyen la acción deseada, una categoría, una cadena de datos, el tipo MIME de los datos, una clase de manejo y otros. Una aplicación envía un Intent al sistema Android, en lugar de enviarlo directamente a otra aplicación/actividad. La aplicación puede enviar el Intent a una única aplicación de destino o puede enviarlo como una transmisión, que a su vez puede ser manejada por múltiples aplicaciones de forma secuencial. El sistema Android es responsable de resolver el mejor receptor disponible para cada Intent, según los criterios proporcionados en el Intent y los filtros de Intent definidos por otras aplicaciones. Para obtener más información, consulte Intenciones y filtros de intenciones .

Relacionado: Filtro de intención , Receptor de transmisión .

Filtro de intención
Un objeto de filtro que una aplicación declara en su archivo de manifiesto, para indicarle al sistema qué tipos de Intents está dispuesto a aceptar cada uno de sus componentes y con qué criterios. A través de un filtro de intención, una aplicación puede expresar interés en tipos de datos específicos, acciones de intención, formatos de URI, etc. Al resolver una intención, el sistema evalúa todos los filtros de intención disponibles en todas las aplicaciones y pasa la intención a la aplicación/actividad que mejor coincida con la intención y los criterios. Para obtener más información, consulte Intenciones y filtros de intenciones .

Relacionado: Intención , Receptor de transmisión .

Recursos
Componentes de aplicación no programáticos que son externos al código de la aplicación compilada, pero que se pueden cargar desde el código de la aplicación utilizando un formato de referencia conocido. Android admite una variedad de tipos de recursos, pero los recursos de una aplicación típica consistirían en cadenas de interfaz de usuario, componentes de diseño de interfaz de usuario, gráficos u otros archivos multimedia, etc. Una aplicación utiliza recursos para admitir de manera eficiente la localización y diversos perfiles y estados de dispositivos. Por ejemplo, una aplicación incluiría un conjunto separado de recursos para cada tipo de dispositivo o local compatible, y podría incluir recursos de diseño que sean específicos de la orientación actual de la pantalla (horizontal o vertical). Para obtener más información sobre los recursos, consulte Recursos y activos . Los recursos de una aplicación siempre se almacenan en las subcarpetas res/* del proyecto.
Servicio
Un objeto de clase Service que se ejecuta en segundo plano (sin presencia de UI) para realizar diversas acciones persistentes, como reproducir música o monitorear la actividad de la red.

Relacionado: Actividad

URI en Android
Android utiliza cadenas URI (identificador uniforme de recursos) como base para solicitar datos en un proveedor de contenido (como recuperar una lista de contactos) y para solicitar acciones en un Intent (como abrir una página web en un navegador). El esquema y el formato de URI se especializan según el tipo de uso, y una aplicación puede manejar cadenas y esquemas de URI específicos de la forma que desee. Algunos esquemas de URI están reservados por componentes del sistema. Por ejemplo, las solicitudes de datos de un proveedor de contenido deben utilizar content:// . En un Intent, el navegador manejará un URI que utilice un esquema http:// .

Construir

adb
Android Debug Bridge, una aplicación de depuración de línea de comandos incluida con el SDK. Proporciona herramientas para explorar el dispositivo, copiar herramientas en el dispositivo y reenviar puertos para depuración. Si está desarrollando en Android Studio, adb está integrado en su entorno de desarrollo. Consulte Puente de depuración de Android para obtener más información.
proyecto androide
Un repositorio Git en un host Android Gerrit. Consulte Herramientas de control de código fuente > Gerrit para obtener más información.
Construir huella digital
La huella digital de compilación es una cadena única y legible por humanos que contiene información del fabricante emitida para cada compilación. Consulte Comprender las huellas digitales de construcción para obtener más información.
git
La herramienta de control de código fuente utilizada por Android que históricamente operaba en un único repositorio Git. Se utiliza junto con Repo para múltiples repositorios Git. Consulte Herramientas de control de código fuente > Git para obtener más información.
Rama Git - canónica
Versiones distintas para cada repositorio de Git, como android-11.0.0_r1 , que se encuentran en cs.android.com/android/platform/superproject/+/android-11.0.0_r1 . Consulte Bifurcación de Git: ramas en pocas palabras para obtener más información.
Rama de Git-local
Una rama temporal en el cliente de repositorio actual para realizar cambios de código, iniciada con el repo start branch-name . dominio. una línea activa de desarrollo. La confirmación más reciente en una rama se conoce como la punta de esa rama.
repositorio git
A veces denominado proyecto, es una parte del código base que representa un componente o tipo de dispositivo particular, como frameworks/base o platform/packages/apps/Car/Media .
archivo de manifiesto
Un archivo XML que describe una agrupación de repositorios Git por rama, las revisiones de Git en las que verificar esos repositorios y su diseño en un sistema de archivos. Este archivo XML, normalmente denominado default.xml , está asociado con una rama de Repo y describe los repositorios de Git y las ramas de Git desprotegidas cuando inicializa y sincroniza la rama de Repo. Este archivo define los diversos repositorios de Git que la herramienta Repo debe recuperar en el pago de un cliente Repo para crear un producto (como el sistema operativo Android Automotive). Vea todos los manifiestos en android.googlesource.com/platform/manifest/+refs . Consulte el manifiesto predeterminado incluido en los archivos AndroidManifest para extraer archivos de la plataforma Android (AOSP) en android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml . Consulte el archivo AndroidManifest.xml para obtener información sobre la aplicación y el formato de manifiesto del repositorio para el desarrollo de la plataforma.
Actualización inalámbrica (OTA)
Los dispositivos Android en el campo pueden recibir e instalar actualizaciones inalámbricas (OTA) para el sistema, el software de la aplicación y las reglas de zona horaria. Consulte Actualizaciones OTA para obtener más información.
repositorio
Un contenedor de Git para permitir operaciones más sencillas en múltiples repositorios de Git. Agrega y administra los numerosos repositorios de Git como una base de código o pago singular. Consulte Herramientas de control de código fuente > Repositorio para obtener más información.
sucursal de repositorio
Una colección de repositorios de Git capturados en un archivo AndroidManifest que representa una versión (compilación) del código base de Android, como android11-gsi o aosp-android-games-sdk , descargado mediante los comandos repo init y repo sync . Consulte la descripción del archivo de manifiesto para obtener enlaces a todos los archivos de manifiesto y utilice https://cs.android.com/ para buscar sus compilaciones.
arriba
En general, uprev actualiza un subproyecto constituyente de un proyecto más grande a una versión más nueva. Un uprev cambia un nivel de revisión a la siguiente versión incrementada o a la última versión disponible. En el caso de un paquete HIDL, para mantener la extensibilidad compatible con versiones anteriores a nivel de paquete , una versión secundaria uprev actualiza el nuevo paquete a una versión secundaria superior manteniendo el mismo nombre y versión principal que el paquete anterior. En el caso de la configuración del cargador de arranque , un uprev actualiza el soporte de la versión del encabezado de arranque a la última versión.

Gráficos

Lienzo
Una superficie de dibujo que maneja la composición de los bits reales contra un mapa de bits o un objeto de superficie . Tiene métodos para el dibujo por computadora estándar de mapas de bits, líneas, círculos, rectángulos, texto, etc., y está vinculado a un mapa de bits o una superficie. Canvas es la forma más sencilla y sencilla de dibujar objetos 2D en la pantalla. La clase base es Canvas .

Relacionado: Dibujable , OpenGL ES , Superficie .

dibujable
Un recurso visual compilado que se puede utilizar como fondo, título u otra parte de la pantalla. Un elemento de diseño normalmente se carga en otro elemento de la interfaz de usuario, por ejemplo, como imagen de fondo. Un elemento de diseño no puede recibir eventos, pero asigna otras propiedades, como "estado" y programación, para habilitar subclases como objetos de animación o bibliotecas de imágenes. Muchos objetos dibujables se cargan desde archivos de recursos dibujables: archivos xml o de mapa de bits que describen la imagen. Los recursos dibujables se compilan en subclases de android.graphics.drawable . Para obtener más información sobre elementos dibujables y otros recursos, consulte Recursos .

Relacionado: Recursos , Lienzo

Recurso de diseño
Un archivo XML que describe el diseño de una pantalla de Actividad.

Recursos Relacionados

Imagen de nueve parches / 9 parches / Nueve parches
Un recurso de mapa de bits de tamaño variable que se puede utilizar para fondos u otras imágenes en el dispositivo. Consulte Imagen estirable de nueve parches para obtener más información.

Recursos Relacionados .

OpenGL ES
Android proporciona bibliotecas OpenGL ES para renderizado 3D acelerado por hardware. Para renderizado 2D, Canvas es la opción más sencilla". OpenGL ES está disponible en el kit de desarrollo nativo de Android (NDK) para facilitar su uso. Los paquetes android.opengl y javax.microedition.khronos.opengles exponen la funcionalidad de OpenGL ES.

Relacionado: Lienzo , Superficie

Superficie
Un objeto de tipo Surface que representa un bloque de memoria que se compone en la pantalla. Una superficie contiene un objeto Canvas para dibujar y proporciona varios métodos auxiliares para dibujar capas y cambiar el tamaño de la superficie. No deberías utilizar esta clase directamente; utilice SurfaceView en su lugar.

Relacionado: Lienzo

Vista de superficie
Un objeto Vista que envuelve una Superficie para dibujar y expone métodos para especificar su tamaño y formato dinámicamente. Un SurfaceView proporciona una manera de dibujar independientemente del subproceso de la interfaz de usuario para operaciones que consumen muchos recursos (como juegos o vistas previas de la cámara), pero como resultado utiliza memoria adicional. SurfaceView admite gráficos Canvas y OpenGL ES. La clase base es SurfaceView .

Relacionado: Superficie

Tema
Un conjunto de propiedades (tamaño del texto, color de fondo, etc.) agrupadas para definir varias configuraciones de visualización predeterminadas. Android proporciona algunos temas estándar, enumerados en R.style (comenzando con "Theme_").
Vista
Un objeto que se dibuja en un área rectangular de la pantalla y maneja clics, pulsaciones de teclas y otros eventos de interacción. Una vista es una clase base para la mayoría de los componentes de diseño de una pantalla de Actividad o Diálogo (cuadros de texto, ventanas, etc.). Recibe llamadas de su objeto padre (ver ViewGroup ) para dibujarse a sí mismo e informa a su objeto padre dónde y qué tamaño le gustaría tener (que puede ser respetado o no por el padre). Para obtener más información, consulte View .

Relacionado: Ver jerarquía , grupo de vistas , widget

Ver jerarquía
Una disposición de objetos View y ViewGroup que define la interfaz de usuario para cada componente de una aplicación. La jerarquía consta de grupos de vistas que contienen una o más vistas secundarias o grupos de vistas. Puede obtener una representación visual de una jerarquía de vistas para depurar y optimizar utilizando el Visor de jerarquía que se proporciona con el SDK de Android.

Relacionado: Ver , VerGrupo

Ver grupo
Un objeto contenedor que agrupa un conjunto de vistas secundarias. El grupo de vistas es responsable de decidir dónde se ubican las vistas secundarias y qué tan grandes pueden ser, así como de llamar a cada una para que se dibuje sola cuando sea apropiado. Algunos grupos de vistas son invisibles y sirven únicamente para el diseño, mientras que otros tienen una interfaz de usuario intrínseca (por ejemplo, un cuadro de lista de desplazamiento). Todos los grupos de vistas están en el paquete widget , pero amplían ViewGroup .

Relacionado: Ver , Ver jerarquía

widget
Una de un conjunto de subclases de Vista completamente implementadas que representan elementos de formulario y otros componentes de la interfaz de usuario, como un cuadro de texto o un menú emergente. Debido a que un widget está completamente implementado, se encarga de medirse y dibujarse a sí mismo y de responder a los eventos de la pantalla. Todos los widgets están en el paquete android.widget .
Ventana
En una aplicación de Android, un objeto derivado de la clase abstracta Window que especifica los elementos de una ventana genérica, como la apariencia (texto de la barra de título, ubicación y contenido de los menús, etc.). Diálogo y Actividad utilizan una implementación de esta clase para representar una ventana. No es necesario implementar esta clase ni utilizar Windows en su aplicación.

Plataforma

Tiempo de ejecución de Android (ART) y Dalvik
El tiempo de ejecución de Android (ART) es el tiempo de ejecución administrado que utilizan las aplicaciones y algunos servicios del sistema en Android. El tiempo de ejecución de Android (ART) es el tiempo de ejecución predeterminado para dispositivos que ejecutan Android 5.0 (nivel de API 21) y superior. ART y su predecesor Dalvik fueron creados originalmente específicamente para el Proyecto de código abierto de Android. ART como tiempo de ejecución ejecuta el formato ejecutable Dalvik y la especificación de código de bytes Dex. ART y Dalvik son tiempos de ejecución compatibles que ejecutan el código de bytes Dex, por lo que las aplicaciones desarrolladas para Dalvik deberían funcionar cuando se ejecutan con ART.
línea de código
Una línea de código contiene el lanzamiento de un producto de software. Consta de una o más ramas de uno o más repositorios, los cuales a menudo están en desarrollo activo al mismo tiempo. La línea de código es el punto de agregación y el objetivo del lanzamiento. Para obtener más información sobre las líneas de código, consulte Administración de software de Android .
archivo .dex
Archivo de código de aplicación de Android compilado.

Los programas de Android se compilan en archivos .dex (Dalvik Executable), que a su vez se comprimen en un único archivo .apk en el dispositivo. Los archivos .dex se pueden crear traduciendo automáticamente aplicaciones compiladas escritas en el lenguaje de programación Java.

Prueba

Artefactos
Los artefactos son registros relacionados con la compilación que permiten la resolución de problemas locales. Se puede acceder a estos registros directamente desde Gerrit al ver su lista de cambios. Desplácese hacia abajo hasta Estado de envío previo y haga clic en el enlace rojo Generar para ver o descargar el archivo build_error.log asociado. También puede obtener estos artefactos desde el servidor central de integración continua de Android en ci.android.com/ haciendo clic en el icono Descargar (flecha hacia abajo) para el destino y la compilación. Para obtener más información sobre cómo encontrar artefactos, consulte Integración continua de Android .
CDD
El Documento de definición de compatibilidad de Android (CDD) enumera los requisitos que deben cumplirse para que sus dispositivos sean compatibles con la última versión de Android. Para ser considerada compatible con Android, las implementaciones de dispositivos DEBEN cumplir con los requisitos presentados en esta Definición de compatibilidad, incluido cualquier documento incorporado como referencia. Para obtener más información sobre el CDD, consulte el Documento de definición de compatibilidad de Android .
cts
El conjunto de pruebas de compatibilidad (CTS) es el conjunto de pruebas para garantizar la corrección de la API y las especificaciones establecidas en el CDD. Está disponible como fuente dentro de AOSP y para descargar como binario. Para obtener más información, consulte Conjunto de pruebas de compatibilidad .
Verificador CTS
El Compatibility Test Suite Verifier (CTS Verifier) ​​es un complemento del CTS. CTS Verifier proporciona pruebas para API y funciones que no se pueden probar en un dispositivo estacionario sin entrada manual (por ejemplo, calidad de audio, acelerómetro, etc.). Para obtener más información, consulte Uso del Verificador CTS .
Depuración
La depuración requiere encontrar y corregir errores en el código de la plataforma Android, ya sea en las funciones o en sus pruebas. Para obtener más información, consulte Depuración del código nativo de la plataforma Android.
Prueba de Google (GTest)
GTest es el marco de prueba y simulación de C++ de Google. Los binarios de GTest generalmente acceden a capas de abstracción de nivel inferior o realizan IPC sin procesar en varios servicios del sistema. Debido a esto, el enfoque de prueba de Gtest suele estar estrechamente relacionado con el servicio que se está probando. Encuentre el código en github.com/google/googletest y la documentación en google.github.io/googletest .
Prueba de instrumentación
Una prueba de instrumentación proporciona un entorno de ejecución de prueba especial iniciado por el comando am instrument , donde el proceso de aplicación objetivo se reinicia e inicializa con el contexto básico de la aplicación, y se inicia un subproceso de instrumentación dentro de la máquina virtual del proceso de aplicación. Para obtener más información, consulte Pruebas de instrumentación .
logcat
Logcat es una herramienta de línea de comandos que descarga un registro de mensajes del sistema, incluidos los seguimientos de la pila cuando el dispositivo arroja un error y los mensajes que usted escribió desde su aplicación con la clase Log . Para obtener más información, consulte Herramienta de línea de comandos Logcat .
Inicio sesión
Iniciar sesión en Android es complejo debido a la combinación de estándares utilizados que se combinan en logcat . Para obtener detalles sobre los principales estándares utilizados, consulte Comprensión del registro .
Fusionar conflicto
Un conflicto de fusión ocurre cuando el servidor de compilación de Android ya no puede fusionar automáticamente dos o más versiones del mismo archivo. Por lo general, requieren la edición manual del archivo para resolver todas las actualizaciones conflictivas.
Pruebas previas al envío y posteriores al envío
Las pruebas previas al envío se utilizan para evitar que se introduzcan fallas en los núcleos comunes. Los resultados no están disponibles públicamente en este momento.

Las pruebas posteriores al envío de Android se realizan cuando se envía un nuevo parche a una rama común del kernel. Al ingresar aosp_kernel como nombre de rama parcial, puede ver una lista de ramas del kernel con resultados disponibles. Por ejemplo, los resultados de `android-mainline` se pueden encontrar aquí .
comercializado
El arnés de prueba de Trade Federation (Tradefed o TF para abreviar) es un marco de prueba continuo diseñado para ejecutar pruebas en dispositivos Android. Por ejemplo, Tradefed se utiliza para ejecutar CTS y VTS. Para obtener más información, consulte Descripción general de la federación comercial .
VTS
Android Vendor Test Suite (VTS) proporciona una amplia funcionalidad para las pruebas de Android, promueve un proceso de desarrollo basado en pruebas y automatiza las pruebas del kernel HAL y del sistema operativo. Para obtener más información, consulte Conjunto de pruebas de proveedores (VTS) e infraestructura .