Android 10 では、Mainline(これまでこのサイトでモジュラー システム コンポーネントと呼ばれていたもの)を導入しました。Mainline は、一部の Android システム コンポーネントをモジュール化し、Android の通常のリリース サイクル以外でのアップデートを可能にします。これにより、Google と Android のパートナーは、エンドユーザー デバイスに対し、非公開の形で広範囲、迅速、かつシームレスにアップデートを配布できます。
エンドユーザーのデバイスでは、Android の Google Play システム アップデート機能(Google Play ストアのインフラストラクチャ上で実行)、または、パートナーが提供する無線(OTA)メカニズムを使用して、Mainline アップデートを受信できます。
アーキテクチャ
Mainline は、特定のシステム コンポーネントをモジュールに変換します。図 1 のモジュラー アーキテクチャにより、下位レベルのベンダー実装や上位レベルのアプリとサービスに影響を与えることなく、システム コンポーネントを随時更新して、重大なバグの修正やその他の改善を行えます。
 
 
図 1. Mainline アーキテクチャ
モジュール アップデートでは、新しい API は導入されません。互換性テストスイート(CTS)で保証されている SDK と System API のみを使用します。相互に対する通信のみを行い、安定版の C API または安定版の AIDL インターフェースのみを使用します。
モジュール アップデート
一部の Mainline モジュールは APEX コンテナ形式(Android 10 で導入)を使用し、その他のモジュールは APK 形式を使用します。
更新された Mainline モジュールをまとめてパッケージ化し、Google(Google Play システム アップデート機能を使用)または Android パートナー(パートナーが提供する OTA メカニズムを使用)を通じて、エンドユーザー デバイスにプッシュできます。モジュール パッケージは「アトミック」にインストールされ、ロールバックされます。更新が必要なモジュールがすべて更新されるか、すべて更新されないかのどちらかです。
利用可能なモジュール
| モジュール名 | パッケージ名 | タイプ | 導入されたリリース | 
|---|---|---|---|
| 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 | 
| Device Scheduling | com.android.scheduling | APEX | Android 12 | 
| DNS Resolver | 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 | 
| IPsec/IKEv2 Library | com.android.ipsec | APEX | Android 11 | 
| Media | メディア: com.android.mediaメディア コーデック: com.android.media.swcodec | APEX | Android 10(extractor、MediaSession API) Android 11(MediaParser API) | 
| MediaProvider | com.android.mediaprovider | APEX | Android 11 | 
| ModuleMetadata | com.android.modulemetadata | APK | Android 10 | 
| Network Stack | ネットワーク スタック権限構成: com.android.networkstack.permissionconfigキャプティブ ポータル ログイン: com.android.captiveportalloginネットワーク コンポーネント: com.android.networkstack | APK | Android 10 | 
| NNAPI Runtime | com.android.neuralnetworks | APK | Android 11 | 
| OnDevicePersonalization Runtime | パッケージの主な機能: com.google.android.ondevicepersonalization(APEX)OnDevicePersonalization API の機能: com.google.android.ondevicepersonalization(APK)FederatedCompute API の機能: com.google.android.federatedcompute(APK) | APEX と APK | Android 13 | 
| PermissionController | com.android.permissioncontroller | APK | Android 10 | 
| Remote Key Provisioning | com.android.rkpd | APEX | Android 14 | 
| SDK Extensions | com.android.sdkext | APEX | Android 11 | 
| Statsd | com.android.os.statsd | APEX | Android 11 | 
| Tethering | com.android.tethering | APEX | Android 11 | 
| Time Zone Data | com.android.tzdata | APEX | Android 10 | 
| UWB | com.android.uwb | APEX | Android 13 | 
| Wi-Fi | com.android.wifi | APEX | Android 11 | 
