Mainline

Android 10에서는 Mainline(이전에는 이 사이트에서 모듈식 시스템 구성요소라고 함)을 도입했습니다. Mainline은 일부 Android 시스템 구성요소를 모듈화하여 일반적인 Android 출시 주기 외에도 업데이트될 수 있도록 지원합니다. 이를 통해 Google과 Android 파트너가 비침해적 방식으로 광범위하고 빠르며 원활하게 최종 사용자 기기로 업데이트를 배포할 수 있습니다.

최종 사용자 기기에서는 Android Google Play 시스템 업데이트 기능(Google Play 스토어 인프라에서 실행됨)이나 파트너 제공 무선 업데이트(OTA) 메커니즘을 통해 Mainline 업데이트를 수신할 수 있습니다.

아키텍처

Mainline은 선택된 시스템 구성요소를 모듈로 변환합니다. 그림 1에 나온 모듈식 아키텍처를 통해 하위 수준 공급업체 구현이나 상위 수준 앱과 서비스에 영향을 미치지 않고 필요에 따라 중요한 버그 수정과 기타 개선사항을 적용하여 시스템 구성요소를 업데이트할 수 있습니다.

Mainline 아키텍처

그림 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 APEXAndroid 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