Mainline

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

Los dispositivos del usuario final pueden recibir actualizaciones de Mainline desde la función de actualización del sistema de Google Play de Android (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 la línea principal

Las actualizaciones de módulos no introducen APIs nuevas. Solo usan las APIs del sistema y del SDK 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 y enviar a los dispositivos de los usuarios finales, 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 de OTA proporcionado por el socio. El paquete del módulo se instala y revierte de forma atómica; o bien se actualizan todos los módulos que deben actualizarse o no se actualiza ninguno.

Módulos disponibles

Nombre del módulo Nombre de paquete Tipo Se lanzó la versión
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.btservices 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
Programación del dispositivo 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 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

Inicio de sesión en el 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
OnDevicePersonalization Runtime 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 llave remota com.android.rkpd APEX Android 14
Extensiones del SDK com.android.sdkext APEX Android 11
Statsd com.android.os.statsd APEX Android 11
Conexión 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