Introduced with Android 10, Modular System Components allow end users to update devices outside of normal Android release cycles. The new Extension SDK framework, which is now public, aims to make their integration easier for developers.
Android 10 and higher versions support modular system components that allow us to accelerate functional and security updates across the Android ecosystem beyond major API-level releases and make new functionality backwards compatible with already released versions of Android. These enhancements help make development more agile and extend the reach of developers across applications.
Faster introduction of APIs and features
The ability to introduce new functionality beyond the core API level releases allows for faster innovation. As we mentioned in a previous post, we plan to release the initial beta of Privacy Sandbox on Android for Android 13 devices starting this year.
Extension SDKs also allow us to extend support for certain platform features to existing versions of Android, increasing user reach. For example, PhotoPicker application programming interfaces that were previously only available at API level 33 (Android T) and above are now also available up to API level 30 (Android R) via SDK extensions on devices with an R extension version of at least 2.
Before SDK Extensions, developers could check the value of Build.VERSION.SDK_INT, e.g. Build.VERSION.SDK_INT >= 33, to ensure that a minimum SDK level was available. While this check is still correct and supported, it will fail for devices with SDK level less than 33 and also with extension version R >= 2.
Modular system components are similar to Google Play Services in their intent to make it easier to update Android devices without the need for a new OS release. The main difference between the two solutions is that Modular System Components are part of AOSP, Android’s open source platform, while Play Services are a proprietary solution available only to Google and licensing partners. Being part of AOSP means that Modular System Components can also be delivered through third-party infrastructure in addition to Google Play, which will be the default for Google and licensing partners.