Modular System Components

Stay organized with collections Save and categorize content based on your preferences.

Android 10 or higher modularizes some Android system components and enables them to be updated outside of the normal Android release cycle. End-user devices can receive updates to these modularized system components from the Google Play Store infrastructure or through a partner-provided over-the-air (OTA) mechanism.

About modular system components

Modular system components enable Google and Android partners to distribute updates broadly, quickly, and seamlessly to end-user devices in a nonintrusive manner. For example, the combination of media codec fragmentation and critical bugs can dramatically slow app adoption and user engagement. Frequent updates to media-related modules can reduce codec fragmentation to make media app behavior more consistent across different Android devices and fix critical bugs to build user trust.

Updates in Android 13

New modules

  • AdServices: Supports the Privacy Sandbox initiative that aims to create technologies that both protect people's privacy online and give companies and developers tools to build thriving digital businesses
  • AppSearch: An on-device indexing and structured search engine
  • Bluetooth: (Optional) Aims to provide a consistent, high-quality Bluetooth experience to all Android users
  • OnDevicePersonalization: Provides a set of tools developed with user privacy as their core tenet
  • UWB: Contains a UWB stack above the HAL interface

Updates to existing modules

Updates in Android 12

New modules

Updates to existing modules

The following documents cover module-specific changes for the Android 12 release.

Module Changes
adbd Updated the module boundary.
DocumentsUI Disabled file browsing.
  • Added DisplayHashingService.
  • Updated the module boundary.
Media Added a new media component.
NNAPI Runtime Updated the module boundary.
  • Made the PermissionController module completely modular.
  • Updated the module boundary.
SDK Extensions
  • Updated the module responsibility.
  • Added a new component.
Statsd Updated the module boundary.
  • Added functionalities.
  • Updated the module boundary.
Time Zone Data Updated the package format.
Wi-Fi Updated the module boundary.


Android 10 or higher converts selected system components into modules, some of which use the APEX container format (introduced in Android 10) and some of which use the APK format. The modular architecture enables system components to be updated with critical bug fixes and other improvements as needed, without affecting lower-level vendor implementations or higher-level apps and services.

Modular system components

Figure 1. Modularized system components

Module updates don't introduce new APIs. They use only the SDK and System APIs guaranteed by the Compatibility Test Suite (CTS), communicate only with each other, and use only stable C API or stable AIDL interfaces.

Updated modular system components can be packaged together and pushed to end-user devices, either by Google (using the Google Play Store infrastructure) or by the Android partner (using a partner-provided OTA mechanism). The module package installs (and rolls back) atomically, meaning all modules that need to be updated are updated or none are. For example, if a module that needs to be updated can't be updated for any reason, the device doesn't install any of the modules in the package.

Available modules

Android includes the following modules.

Module name Package name Type Release introduced
AdServices Multiple Multiple Android 13
adbd APEX Android 11
AppSearch APEX Android 13
ART APEX Android 12
Bluetooth APEX Android 13
Captive Portal Login APK Android 10
CellBroadcast APEX Android 11
Conscrypt APEX Android 10
Device Scheduling APEX Android 12
DNS Resolver APEX Android 10
DocumentsUI APK Android 10
ExtServices APK (Android 10)
APEX (Android 11)
Android 10
IPsec/IKEv2 Library APEX Android 11
Media Codecs APEX Android 10
Media APEX Android 10 (extractors, MediaSession API)
Android 11 (MediaParser API)
MediaProvider APEX Android 11
ModuleMetadata APK Android 10
Network Stack Permission Configuration APK Android 10
Network Components APK Android 10
NNAPI Runtime APK Android 11
OnDevicePersonalization Runtime Multiple Multiple Android 13
PermissionController APK Android 10
SDK Extensions APEX Android 11
Statsd APEX Android 11
Tethering APK Android 11
Time Zone Data APEX Android 10
UWB Zone Data APEX Android 13
Wi-Fi APEX Android 11