Línea principal

Android 10 introdujo Mainline (antes llamado componentes del sistema modular 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 los socios de Google y Android distribuyan actualizaciones de forma amplia, rápida y sin problemas a los dispositivos de los usuarios finales de manera no invasiva.

Los dispositivos del usuario final pueden recibir actualizaciones de Mainline desde la función de actualización del sistema de Google Play para 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

La línea principal 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íticas 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 presentan APIs nuevas. Solo usan las APIs del SDK y del sistema que garantiza el conjunto de pruebas de compatibilidad (CTS), se comunican solo entre sí y usan solo APIs de C estables o interfaces de AIDL estables.

Actualizaciones de módulos

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

Los módulos principales actualizados se pueden empaquetar y enviar a los dispositivos del usuario final, ya sea a través de Google, con la función de actualización del sistema de Google Play, o del socio de Android, con un mecanismo inalámbrico proporcionado por el socio. El paquete del módulo se instala y se revierte de forma atómica. Se actualizan todos los módulos que deben actualizarse o ninguno.

Módulos disponibles

Nombre del módulo Nombre de paquete Tipo Lanzamiento
AdServices Múltiples Múltiples Android 13
adbd com.android.adbd APEX Android 11
Android Health APEX Android 14
AppSearch com.android.appsearch APEX Android 13
ART com.android.art APEX Android 12
Bluetooth APEX Android 13
Transmisión móvil com.android.cellbroadcast APEX Android 11
Infraestructura de configuración 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 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 multimedia: 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 Múltiples Múltiples Android 13
PermissionController com.android.permissioncontroller APK Android 10
Aprovisionamiento de claves remoto 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