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.
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 |
APEX | Android 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 |