Android 10 introdujo Mainline (anteriormente llamado componentes del sistema modular en este sitio). Mainline modulariza algunos componentes del sistema Android y permite actualizarlos fuera del ciclo normal de lanzamiento de Android. Esto permite a los socios de Google y Android distribuir actualizaciones de manera amplia, rápida y fluida a los dispositivos de los usuarios finales de manera no intrusiva.
Los dispositivos de los usuarios finales pueden recibir actualizaciones principales desde la función de actualización del sistema Android Google Play (que se ejecuta en la infraestructura de Google Play Store) o mediante un mecanismo inalámbrico (OTA) proporcionado por el socio.
Arquitectura
Mainline convierte los componentes seleccionados del sistema 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 aplicaciones y servicios de nivel superior.
Figura 1. Arquitectura principal
Las actualizaciones del módulo no introducen nuevas API. Usan solo el SDK y las API del sistema garantizados por Compatibility Test Suite (CTS) , se comunican solo entre sí y usan solo API C estable o interfaces AIDL estables .
Actualizaciones del módulo
Algunos módulos Mainline usan el formato contenedor APEX (introducido en Android 10) y algunos usan el formato APK.
Los módulos Mainline actualizados se pueden empaquetar juntos y enviar a los dispositivos de los usuarios finales, ya sea por parte de Google, mediante la función de actualización del sistema Google Play, o por parte del socio de Android, mediante un mecanismo OTA proporcionado por el socio. El paquete del módulo se instala y revierte atómicamente; o se actualizan todos los módulos que necesitan actualizarse o no se actualiza ninguno.
Módulos disponibles
Nombre del módulo | Nombre del paquete | Tipo | Lanzamiento introducido |
---|---|---|---|
Servicios publicitarios | Múltiple | Múltiple | androide 13 |
adbd | com.android.adbd | APÉNDICE | androide 11 |
Salud de Android |
| APÉNDICE | Androide 14 |
Búsqueda de aplicaciones | com.android.appsearch | APÉNDICE | androide 13 |
ARTE | com.android.art | APÉNDICE | androide 12 |
Bluetooth |
| APÉNDICE | androide 13 |
Difusión celular | com.android.cellbroadcast | APÉNDICE | androide 11 |
Configurar infraestructura | com.android.configinfrastructure | APÉNDICE | Androide 14 |
Conscifrar | com.android.conscrypt | APÉNDICE | androide 10 |
Programación de dispositivos | com.android.scheduling | APÉNDICE | androide 12 |
solucionador de DNS | com.android.resolv | APÉNDICE | androide 10 |
DocumentosUI | com.android.documentsui | APK | androide 10 |
ServiciosExt | com.android.ext.services | APK (Android 10) APEX (Android 11) | androide 10 |
Biblioteca IPsec/IKEv2 | com.android.ipsec | APÉNDICE | androide 11 |
Medios de comunicación | Medios: com.android.media Códecs multimedia: com.android.media.swcodec | APÉNDICE | Android 10 (extractores, API MediaSession) Android 11 (API MediaParser) |
Proveedor de medios | com.android.mediaprovider | APÉNDICE | androide 11 |
MóduloMetadatos | com.android.modulemetadata | APK | androide 10 |
Pila de red | Configuración de permisos de 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 | androide 10 |
Tiempo de ejecución de NNAPI | com.android.neuralnetworks | APK | androide 11 |
Tiempo de ejecución de personalización de OnDevice | Múltiple | Múltiple | androide 13 |
Controlador de permisos | com.android.permissioncontroller | APK | androide 10 |
Aprovisionamiento remoto de claves | com.android.rkpd | APÉNDICE | Androide 14 |
Extensiones del SDK | com.android.sdkext | APÉNDICE | androide 11 |
Estadísticas | com.android.os.statsd | APÉNDICE | androide 11 |
Atando | com.android.tethering | APÉNDICE | androide 11 |
Datos de zona horaria | com.android.tzdata | APÉNDICE | androide 10 |
UWB | com.android.uwb | APÉNDICE | androide 13 |
Wifi | com.android.wifi | APÉNDICE | androide 11 |