Glosario de la plataforma de Android

Consulta la lista que se encuentra más abajo para conocer la terminología básica del Proyecto de código abierto de Android (AOSP). A continuación, se incluyen otras fuentes para las definiciones de términos clave:

Consulta Codificación respetuosa para ver algunos ejemplos de términos que se deben usar o evitar con el objetivo de lograr un ecosistema más inclusivo.

Apps

archivo APK (.apk)
Archivo de paquete de app para Android con la extensión .apk. Cada app para Android se compila y empaqueta en un solo archivo que incluye todo el código (archivos DEX con la extensión .dex), recursos, elementos, y el archivo de manifiesto de la app. El archivo de paquete puede tener cualquier nombre, pero debe usar la extensión .apk, por ejemplo, myExampleAppname.apk. Por conveniencia, un archivo de paquete de app se denomina APK.

Términos relacionados: app

acción
Descripción de una tarea que un remitente de intent quiere que se realice. Una acción es un valor de cadena asignado a un intent. Android o un desarrollador externo puede definir cadenas de acción. Por ejemplo, android.intent.action.VIEW para una URL web, o com.example.rumbler.SHAKE_PHONE para una app que hace vibrar el teléfono.

Términos relacionados: intent

actividad
Una única pantalla en una app, con código Java compatible, derivada de la clase Activity. Por lo general, una actividad se representa de forma visible mediante una ventana de pantalla completa que puede recibir y controlar eventos de la IU y realizar tareas complejas gracias a la ventana que usa para renderizar su propia ventana. Las actividades suelen ser de pantalla completa, también pueden ser flotantes o transparentes.
app
Desde la perspectiva de un componente, una app para Android consta de una o más actividades, servicios, objetos de escucha y receptores de intents. Desde la perspectiva del archivo fuente, una app para Android consta de código, recursos, activos y un único manifiesto. Durante la compilación, estos archivos se empaquetan en un único archivo denominado archivo de paquete de la app (APK).

Términos relacionados: archivo APK (.apk), actividad

receptor de transmisiones
Objeto basado en la clase BroadcastReceiver que escucha intents que son para transmitir, y no para enviarse a una única app o actividad objetivo. El sistema entrega un intent de transmisión a todos los receptores de transmisiones interesados que controlan el intent de forma secuencial.

Términos relacionados: intent, filtro de intents

proveedor de contenido
Capa de abstracción de datos que puedes usar para exponer de manera segura los datos de tu app a otras apps. Un proveedor de contenido se basa en la clase ContentProvider, que controla las cadenas de consulta de contenido de un formato específico para mostrar datos en un formato determinado. Consulta Proveedores de contenido para obtener más información.

Términos relacionados: URIs en Android

diálogo
Ventana flotante que actúa como un formulario liviano. Un diálogo puede tener solo controles de botones y está destinado a realizar una acción simple (como la elección del botón) y tal vez mostrar un valor. Un diálogo no persiste en la pila del historial, no contiene un diseño complejo ni realiza acciones complejas. Android proporciona un diálogo simple predeterminado con botones opcionales, pero también puedes definir tu propio diseño de diálogo. La clase de base para los diálogos es Dialog.

Términos relacionados: actividad

intent
Objeto de mensaje que puedes usar para iniciar otras apps o actividades, o bien comunicarte con ellas de manera asíncrona. Un objeto de intent es una instancia de la clase Intent. Incluye campos para varios criterios que puedes proporcionar, para determinar qué app o actividad recibe el intent y qué hace el receptor al controlar el intent. Los criterios disponibles incluyen la acción deseada, una categoría, una cadena de datos, el tipo de MIME de los datos y una clase de control. Una app envía un intent al sistema Android, en lugar de enviarlo directamente a otra app o actividad. La app puede enviar el intent a una sola app de destino o puede enviarlo como una transmisión, que a su vez puede ser controlada por varias apps 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 apps. Para obtener más información, consulta Intents y filtros de intents.

Términos relacionados: filtro de intents, receptor de transmisiones

filtro de intents
Objeto de filtro que una app 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 intents, una app puede expresar interés en tipos de datos específicos, acciones de intents, formatos de URI, etc. Cuando se resuelve un intent, el sistema evalúa todos los filtros de intents disponibles en todas las apps y pasa el intent a la app o actividad que mejor coincida con el intent y los criterios. Para obtener más información, consulta Intents y filtros de intents.

Términos relacionados: intent, receptor de transmisiones

recursos
Componentes de app no programáticos que son externos al código de app compilado, pero que se pueden cargar desde el código de app utilizando un formato de referencia conocido. Android admite una variedad de tipos de recursos, pero los recursos de una app típica consisten en cadenas de IU, componentes de diseño de la IU, gráficos y otros archivos multimedia, etc. Una app utiliza recursos para admitir de manera eficaz la localización y diversos perfiles y estados de dispositivos. Por ejemplo, una app incluiría un conjunto separado de recursos para cada tipo local o de dispositivo admitido, y puede incluir recursos de diseño específicos de la orientación de pantalla actual (horizontal o vertical). Para obtener más información sobre los recursos, consulta Descripción general de los recursos de las apps. Los recursos de una app siempre se almacenan en las subcarpetas res/* del proyecto.
servicio
Objeto de la clase Service que se ejecuta en segundo plano (sin presencia de una IU) para realizar varias acciones persistentes, como reproducir música o supervisar la actividad de red.

Términos relacionados: actividad

URIs en Android
Android usa cadenas de identificador de recursos uniforme (URI) como base para solicitar datos en un proveedor de contenido (por ejemplo, para recuperar una lista de contactos) y para solicitar acciones en un intent (por ejemplo, para 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 app puede controlar esquemas y cadenas de URI específicos en la forma de preferencia. Algunos esquemas de URI están reservados por los componentes del sistema. Por ejemplo, las solicitudes de datos de un proveedor de contenido deben usar content://. En un intent, el navegador controla un URI que use un esquema http://.

Compilación

adb
Android Debug Bridge, una app de depuración de línea de comandos incluida con el SDK. adb proporciona herramientas para navegar por el dispositivo, copiar herramientas en él y desviar puertos para depuración. Si desarrollas en Android Studio, adb está integrada en tu entorno de desarrollo. En texto sin formato el acrónimo se escribe completamente en minúsculas. Al referirse a un comando específico, se escribe adb. Consulta Comprueba que tienes fastboot y adb para obtener más información.
Proyecto de Android
Un repositorio de Git en un host de Gerrit de Android. Consulta Git Source Editor para obtener información sobre cómo funciona Git.

Términos relacionados: repositorio de Git

huella digital de compilación
Cadena única y legible por humanos que contiene la información del fabricante que se emitió para cada compilación. Consulta Cómo compilar paquetes inalámbricos para obtener más información.
rama de Git: canónica
Diferentes versiones de 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. Consulta Git Branching - Branches in a Nutshell para obtener más información.
Rama de Git: local
Rama temporal en el cliente de Repo actual para realizar cambios en el código. Se inicia con el comando repo start branch-name ., que es una línea de desarrollo activa. La confirmación más reciente se denomina la punta de la rama.
Repositorio de Git
Parte de la base de código que, a veces, se conoce como proyecto y que representa un componente o un tipo de dispositivo en particular, como frameworks/base o platform/packages/apps/Car/Media.

Términos relacionados: proyecto de Android

archivo de manifiesto
Archivo en formato XML que describe una agrupación de repositorios de Git por rama, las revisiones de Git que se usan para obtener esos repositorios y su diseño en un sistema de archivos. Ese archivo en formato XML, generalmente llamado default.xml, está asociado a una rama de Repo y describe los repositorios de Git y las ramas de Git revisadas cuando inicializas y sincronizas la rama de Repo. Este archivo define los distintos repositorios de Git que debe usar la herramienta Repo para recuperar el resultado de un cliente de Repo y compilar un producto (por ejemplo, el SO Android Automotive). Consulta todos los manifiestos en android.googlesource.com/platform/manifest/+refs. Consulta el manifiesto predeterminado que se incluye en los archivos del manifiesto para extraer archivos de la plataforma de Android (AOSP) en android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml. Consulta la Descripción general del manifiesto de la app para obtener información de la app y Formato de Formato de para el desarrollo de la plataforma.
Actualización inalámbrica (OTA)
Los dispositivos Android en el campo pueden recibir e instalar actualizaciones inalámbricas del sistema, el software de apps y las reglas de zona horaria. Consulta Actualizaciones OTA para obtener más información.
rama de Repo
Colección de repositorios de Git capturada en un archivo de manifiesto que representa una versión (compilación) de la base de código de Android, como android11-gsi o aosp-android-games-sdk. Se descarga mediante los comandos repo init y repo sync. Consulta la descripción del archivo de manifiesto para obtener vínculos a todos los archivos de manifiesto y usa Android Code Search para buscar las compilaciones.
uprev
En general, uprev actualiza un subproyecto constituyente de un proyecto más grande a una versión más reciente. 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 el nivel del paquete de retrocompatibilidad con extensibilidad, un uprev de versión secundaria actualiza el paquete nuevo a una versión secundaria superior y, al mismo tiempo, mantiene el mismo nombre y versión principal que el paquete anterior. En el caso de la configuración del bootloader, un uprev actualiza la compatibilidad de la versión del encabezado de inicio a la última versión.

Plataforma

Android Runtime (ART) y Dalvik
Android Runtime (ART) es el entorno de ejecución administrado que usan las apps y algunos servicios del sistema en Android. ART es el entorno de ejecución predeterminado para dispositivos con Android 5.0 (nivel de API 21) y versiones posteriores. ART y su predecesor, Dalvik, se crearon originalmente para el Proyecto de código abierto de Android. ART como entorno de ejecución ejecuta el formato Dalvik Executable y la especificación de código de bytes Dex. ART y Dalvik son entornos de ejecución compatibles que ejecutan el código de bytes Dex, por lo que las apps desarrolladas para Dalvik deberían funcionar cuando se ejecuten con ART.
archivo DEX (.dex)
Archivo de código compilado de una app para Android. Los programas de Android se compilan en archivos Dalvik ejecutables (DEX) con la extensión .dex, que a su vez se comprimen en un solo archivo APK en el dispositivo. Los archivos DEX se pueden crear trasladando automáticamente las apps compiladas escritas en el lenguaje de programación Java.