모듈식 시스템 구성요소

Android 10은 일부 Android 시스템 구성요소를 모듈화하여 일반적인 Android 출시 주기 외에 업데이트될 수 있도록 지원합니다. 최종 사용자 기기는 Google Play 스토어 인프라 또는 파트너가 제공하는 OTA(over-the-air) 메커니즘을 통해 이러한 모듈화된 시스템 구성요소에 업데이트를 다운로드할 수 있습니다.

모듈식 시스템 구성요소 정보

모듈식 시스템 구성요소를 사용하면 Google 및 Android 파트너가 반침해적 방식으로 최종 사용자 기기에 업데이트를 광범위하고 빠르고 원활하게 업데이트를 배포할 수 있습니다. 예를 들어 미디어 코덱 세분화와 치명적인 버그의 조합은 앱 채택 및 사용자 참여를 크게 둔화시킬 수 있습니다. 미디어 관련 모듈을 자주 업데이트하면 여러 Android 기기 전체에 걸쳐 미디어 앱이 좀 더 일관적으로 작동하도록 만들고 치명적인 버그를 해결하여 사용자에 대한 신뢰를 쌓기 위한 코덱 세분화가 감소할 수 있습니다.

아키텍처

Android 10은 선택된 시스템 구성요소를 모듈로 변환합니다. 이 중 일부는 Android 10에서 도입된 APEX 컨테이너 형식을 사용하며 일부는 APK 형식을 사용합니다. 모듈식 아키텍처를 사용하면 하위 공급업체 구현이나 상위 앱 및 서비스에 영향을 주지 않고도 필요에 따라 중요한 버그 수정 및 기타 개선사항을 시스템 구성요소에 업데이트할 수 있습니다.

그림 1. 모듈화된 시스템 구성요소

모듈 업데이트에는 새로운 API가 도입되지 않습니다. 호환성 테스트 도구 모음(CTS)에 의해 보장되는 SDK와 시스템 API만 사용하고 서로 통신만 하며 안정적인 C API나 안정적인 AIDL 인터페이스만 사용합니다.

업데이트된 모듈식 시스템 구성요소는 함께 패키징하여 최종 사용자 기기에 푸시할 수 있으며 이때 Google(Google Play 스토어 인프라 사용)이나 Android 파트너(파트너가 제공한 OTA 메커니즘 사용)가 주체가 될 수 있습니다. 모듈 패키지는 원자적으로 설치 및 롤백됩니다. 즉, 업데이트가 필요한 모든 모듈이 전부 업데이트되거나 하나도 업데이트되지 않습니다. 예를 들어 업데이트가 필요한 모듈을 어떠한 이유로든 업데이트할 수 없는 경우 기기는 패키지에 아무런 모듈도 설치하지 않습니다.

가용한 모듈

Android 10에 포함되는 모듈은 다음과 같습니다.

모듈 이름 패키지 이름 유형

런타임

com.android.runtime.release.apex

APEX

종속 포털 로그인

com.android.captiveportallogin

APK

Conscrypt

com.android.conscrypt

APEX

DNS 리졸버

com.android.resolv

APEX

DocumentsUI

com.android.documentsui

APK

ExtServices

com.android.ext.services

APK

미디어 코덱

com.android.media.swcodec

APEX

미디어 추출기 및 미디어2 API

com.android.media

APEX

ModuleMetadata

com.android.modulemetadata

APK

네트워크 스택 권한 구성

com.android.networkstack.permissionconfig

APK

네트워크 구성요소

com.android.networkstack

APK

PermissionController

com.android.permissioncontroller

APK

시간대 데이터

com.android.tzdata

APEX