Android 10에서는 Mainline(이전에는 이 사이트에서 모듈식 시스템 구성요소라고 함)을 도입했습니다. Mainline은 일부 Android 시스템 구성요소를 모듈화하여 일반적인 Android 출시 주기 외에도 업데이트될 수 있도록 지원합니다. 이를 통해 Google과 Android 파트너가 비침해적 방식으로 광범위하고 빠르며 원활하게 최종 사용자 기기로 업데이트를 배포할 수 있습니다.
최종 사용자 기기에서는 Android Google Play 시스템 업데이트 기능(Google Play 스토어 인프라에서 실행됨)이나 파트너 제공 무선 업데이트(OTA) 메커니즘을 통해 Mainline 업데이트를 수신할 수 있습니다.
아키텍처
Mainline은 선택된 시스템 구성요소를 모듈로 변환합니다. 그림 1에 나온 모듈식 아키텍처를 통해 하위 수준 공급업체 구현이나 상위 수준 앱과 서비스에 영향을 미치지 않고 필요에 따라 중요한 버그 수정과 기타 개선사항을 적용하여 시스템 구성요소를 업데이트할 수 있습니다.
그림 1. Mainline 아키텍처
모듈 업데이트에는 새로운 API가 도입되지 않습니다. 호환성 테스트 모음(CTS)에 의해 보장되는 SDK와 시스템 API만 사용하고 서로 간에만 통신하며 안정적인 C API나 안정적인 AIDL 인터페이스만 사용합니다.
모듈 업데이트
일부 Mainline 모듈은 APEX 컨테이너 형식(Android 10에서 도입함)을 사용하고 일부는 APK 형식을 사용합니다.
업데이트된 Mainline 모듈은 함께 패키징되어 Google(Google Play 시스템 업데이트 기능 사용)이나 Android 파트너(파트너 제공 OTA 메커니즘 사용)가 최종 사용자 기기에 푸시할 수 있습니다. 모듈 패키지는 원자적으로 설치 및 롤백됩니다. 즉, 업데이트가 필요한 모든 모듈이 전부 업데이트되거나 하나도 업데이트되지 않거나 둘 중 하나입니다.
사용 가능한 모듈
모듈 이름 | 패키지 이름 | 유형 | 출시 버전 |
---|---|---|---|
AdServices | 여러 개 | 여러 개 | 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 |
블루투스 |
|
APEX | Android 13 |
CellBroadcast | com.android.cellbroadcast |
APEX | Android 11 |
인프라 구성 | com.android.configinfrastructure |
APEX | Android 14 |
Conscrypt | com.android.conscrypt |
APEX | Android 10 |
기기 예약 | com.android.scheduling |
APEX | Android 12 |
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 |
IPsec/IKEv2 라이브러리 | com.android.ipsec |
APEX | Android 11 |
미디어 | 미디어: com.android.media 미디어 코덱: com.android.media.swcodec |
APEX | Android 10(추출기, MediaSession API) Android 11(MediaParser API) |
MediaProvider | com.android.mediaprovider |
APEX | Android 11 |
ModuleMetadata | com.android.modulemetadata |
APK | Android 10 |
네트워크 스택 | 네트워크 스택 권한 구성: com.android.networkstack.permissionconfig 종속 포털 로그인: com.android.captiveportallogin 네트워크 구성요소: com.android.networkstack |
APK | Android 10 |
NNAPI 런타임 | com.android.neuralnetworks |
APK | Android 11 |
OnDevicePersonalization 런타임 | 여러 개 | 여러 개 | Android 13 |
PermissionController | com.android.permissioncontroller |
APK | Android 10 |
원격 키 프로비저닝 | com.android.rkpd |
APEX | Android 14 |
SDK 확장 프로그램 | com.android.sdkext |
APEX | Android 11 |
Statsd | com.android.os.statsd |
APEX | Android 11 |
테더링 | com.android.tethering |
APEX | Android 11 |
시간대 데이터 | com.android.tzdata |
APEX | Android 10 |
UWB | com.android.uwb |
APEX | Android 13 |
Wi-Fi | com.android.wifi |
APEX | Android 11 |