Mainline

Android 10 introdujo Mainline (anteriormente llamado componentes modulares del sistema en este sitio). Mainline modulariza algunos componentes del sistema Android y les permite actualizarse fuera del ciclo normal de lanzamientos de Android. Esto permite que Google y los socios de Android distribuyan actualizaciones de forma amplia, rápida y sin problemas a los dispositivos del usuario final de una manera no intrusiva.

Los dispositivos del usuario final pueden recibir actualizaciones de Mainline desde la función de actualización del sistema Android de Google Play (que se ejecuta en la infraestructura de Google Play Store) o a través de un mecanismo inalámbrico (OTA) proporcionado por un socio.

Arquitectura

Mainline convierte los componentes del sistema seleccionados en módulos. La arquitectura modular que se muestra en la Figura 1 permite que los componentes del sistema se actualicen con correcciones de errores críticos y otras mejoras según sea necesario, sin afectar las implementaciones de proveedores de nivel inferior ni las apps y los servicios de nivel superior.

Arquitectura de Mainline

Figura 1: Arquitectura de Mainline

Las actualizaciones de módulos no introducen APIs nuevas. Solo usan las APIs del SDK y del sistema garantizadas por el Conjunto de pruebas de compatibilidad (CTS), se comunican solo entre sí y usan solo la API de C estable o las interfaces AIDL estables.

Actualizaciones de módulos

Algunos módulos de Mainline usan el formato de contenedor APEX (introducido en Android 10) y otros usan el formato APK.

Los módulos de Mainline actualizados se pueden empaquetar juntos y enviar a los dispositivos del usuario final, ya sea por Google, con la función de actualización del sistema de Google Play, o por el socio de Android, con un mecanismo OTA proporcionado por el socio. El paquete del módulo se instala y revierte de forma atómica; se actualizan todos los módulos que deben actualizarse o no se actualiza ninguno.

Módulos disponibles

Nombre del módulo Nombre del paquete Tipo Versión introducida
AdServices com.google.android.adservices APEX Android 13
adbd com.android.adbd APEX Android 11
Android Health com.google.android.healthfitness APEX Android 14
AppSearch com.android.appsearch APEX Android 13
ART com.android.art APEX Android 12
Bluetooth com.google.android.bt APEX Android 13
CellBroadcast com.android.cellbroadcast APEX Android 11
Config Infrastructure com.android.configinfrastructure APEX Android 14
Conscrypt com.android.conscrypt APEX Android 10
Device Scheduling com.android.scheduling APEX Android 12
Resolución de DNS com.android.resolv APEX Android 10
DocumentsUI com.android.documentsui APK Android 10
ExtServices com.android.ext.services APK (Android 10)
APEX (Android 11)
Android 10
Biblioteca de IPsec/IKEv2 com.android.ipsec APEX Android 11
Contenido multimedia Contenido multimedia: com.android.media

Códecs de medios: com.android.media.swcodec
APEX Android 10 (extractores, API de MediaSession)
Android 11 (API de MediaParser)
MediaProvider com.android.mediaprovider APEXAndroid 11
ModuleMetadata com.android.modulemetadata APK Android 10
Pila de red Configuración de permisos de la pila de red: com.android.networkstack.permissionconfig

Acceso al portal cautivo: com.android.captiveportallogin

Componentes de red: com.android.networkstack
APK Android 10
Entorno de ejecución de NNAPI com.android.neuralnetworks APK Android 11
Entorno de ejecución de OnDevicePersonalization Funcionalidad principal del paquete: com.google.android.ondevicepersonalization (APEX)

Funcionalidad de la API de OnDevicePersonalization: com.google.android.ondevicepersonalization (APK)

Funcionalidad de las APIs de FederatedCompute: com.google.android.federatedcompute (APK)
APEX y APK Android 13
PermissionController com.android.permissioncontroller APK Android 10
Aprovisionamiento de claves remotas com.android.rkpd APEX Android 14
Extensiones del SDK com.android.sdkext APEX Android 11
Statsd com.android.os.statsd APEX Android 11
Tethering com.android.tethering APEX Android 11
Datos de zona horaria com.android.tzdata APEX Android 10
UWB com.android.uwb APEX Android 13
Wi-Fi com.android.wifi APEX Android 11