모듈식 시스템 구성요소

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

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

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

Android 12의 업데이트

새 모듈

기존 모듈 업데이트

다음 문서에서는 Android 12 버전의 모듈별 변경사항을 다룹니다.

모듈 변경사항
adbd 모듈 경계를 업데이트했습니다.
DocumentsUI 파일 탐색을 사용 중지했습니다.
ExtServices
  • DisplayHashingService를 추가했습니다.
  • 모듈 경계를 업데이트했습니다.
미디어 새로운 미디어 구성요소를 추가했습니다.
NNAPI 런타임 모듈 경계를 업데이트했습니다.
PermissionController
  • PermissionController 모듈을 완전히 모듈화했습니다.
  • 모듈 경계를 업데이트했습니다.
SDK 확장 프로그램
  • 모듈의 책임을 업데이트했습니다.
  • 새 구성요소를 추가했습니다.
Statsd 모듈 경계를 업데이트했습니다.
테더링
  • 기능을 추가했습니다.
  • 모듈 경계를 업데이트했습니다.
시간대 데이터 패키지 형식을 업데이트했습니다.
Wi-Fi 모듈 경계를 업데이트했습니다.

아키텍처

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

모듈식 시스템 구성요소

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

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

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

가용한 모듈

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

모듈 이름 패키지 이름 유형 출시 버전
adbd com.android.adbd APEX Android 11
ART com.android.art APEX Android 12
종속 포털 로그인 com.android.captiveportallogin APK Android 10
CellBroadcast com.android.cellbroadcast APEX Android 11
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.swcodec APEX Android 10
미디어 com.android.media 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 APK Android 10
네트워크 구성요소 com.android.networkstack APK Android 10
NNAPI 런타임 com.android.neuralnetworks APK Android 11
PermissionController com.android.permissioncontroller APK Android 10
SDK 확장 프로그램 com.android.sdkext APEX Android 11
Statsd com.android.os.statsd APEX Android 11
테더링 com.android.tethering APK Android 11
시간대 데이터 com.android.tzdata APEX Android 10
Wi-Fi com.android.wifi.apex APEX Android 11